开发者

NUnit - assembly that reads and writes file

I am unit testing an assembly that uses File.WriteAllLines() and File.ReadAllText() to read and write persistent data. When I run the unit test with the NUnit Gui 开发者_开发百科the test fails with an unauthorizedAccessException.

The path that the file is attempting to read and write is being affected of course by the location of program execution. Depending on if I run NUnit under Visual Studio or directly from the Nunit /bin folder, this is where the attempted read and write operation is taking place.

I have tried to run NUnit as administrator and have copied all of the assemblies directly to the NUnit /bin folder and the test still fails.

I do not want to directly set a path in the assembly.

Any ideas on how to resolve this issue?


You could use Path.GetTempFileName to get a temporary file to write to.

Alternatively, you could use Assembly.Location to find out where your assembly is, and use that as the directory.


With NUnit 3 you should use TestContext to get either TestDirectory or WorkDirectory. Also there are File Asserts and Directory Asserts, which may help you write your tests in a more readable way.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜