Cla*_*ity 5 .net c# mstest visual-studio uwp
我有一个 UWP C# 应用程序,带有一个单元测试项目。在这些单元测试中,我希望能够写入文本文件,以便在 Jest 中制作类似快照的内容。
Directory.GetCurrentDirectory()返回C:\path\to\project\bin\x64\Debug\AppX,因此我在项目目录中创建了一个文件夹并导航到它,然后尝试在那里创建一个文件。
[TestMethod]
public void Test()
{
var folder = Path.Combine(Directory.GetCurrentDirectory(), "../../../../Snapshots");
string data = "example data";
string filename = Path.Combine(folder, "Test.snap");
File.WriteAllText(filename, json);
}
Run Code Online (Sandbox Code Playgroud)
然而,这个测试产生了一个System.UnauthorizedAccessException. 我进入Windows中的文件夹并授予Everyone读/写权限,但这没有任何区别。
我不想以管理员身份运行 Visual Studio。这可能吗?
我用来Path.GetTempPath()在需要物理磁盘访问的单元测试中创建临时目录和文件。单元测试可以从未知的上下文/位置运行,因此我发现使用临时目录作为创建一次性文件的有保证的方法。
[TestMethod]
public void Test()
{
var folder = Path.Combine(Path.GetTempPath(), "Snapshots");
string data = "example data";
string filename = Path.Combine(folder, "Test.snap");
File.WriteAllText(filename, json);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1575 次 |
| 最近记录: |