无法从WinRT中的xunit访问文件(该进程没有包标识)

Pon*_*iat 5 file-io xunit xunit.net windows-runtime

我正在为我的WinRT项目编写一些单元测试(使用xunit).

我准备了带有json内容的文本文件.我把这个文件放到我的Test项目中,现在我想读取文件,解析json并检查一些东西.它适用于MS Test,但没有使用xUnit.

当我用xUnit运行测试时,我收到:

System.InvalidOperationException该进程没有包标识.(HRESULT异常:0x80073D54)

[Fact]
public async Task ProjectFile()
{
    var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
    folder = await folder.GetFolderAsync("SampleData");

    var file = await folder.GetFileAsync("companies.txt");
    Assert.NotNull(file);

    var result = await Windows.Storage.FileIO.ReadTextAsync(file);
    Assert.True(result.Length > 0);
}
Run Code Online (Sandbox Code Playgroud)

我的IDE:

  • Visual Studio 2012 Pro更新3
  • WinRT项目
  • ReSharper 7.1.3
  • 的xUnit

有人可以在这帮吗?

Bra*_*son 1

我知道这个问题已经很老了,但是 xUnit.net 1.x 没有正式支持除桌面库之外的任何内容。

xUnit.net 2.x 支持:

  • 桌面
  • 便携式(规格 259)
  • DNX(.NET 和 .NET Core,包括 ASP.NET 5+)
  • Windows Phone 8(银光)
  • Windows 通用(Windows Phone 8.1+、Windows 8.1+)
  • Xamarin(MonoAndroid、MonoTouch 和 iOS 通用)

想必这些平台之一就是您的目标平台。;)