我正在运行上一个问题中提到的 Xunit 测试用例。
如何使用 cake(c# make) 脚本在 xunit 中通过和失败测试用例计数
在运行测试用例时,我的大多数测试用例在尝试从我的AppDomain
.
测试用例成功Visual Studio
。
从错误日志中,我可以看到它尝试从 Xunit 控制台运行程序位置而不是应用程序位置读取文件。
注意:我将Xunit2Settings的NoAppDomain用作 false。
我正在运行上一个问题中提到的 Xunit 测试用例。
如何使用 cake(c# make) 脚本在 xunit 中通过和失败测试用例计数
在运行测试用例时,我的大多数测试用例在尝试从我的AppDomain
.
测试用例成功Visual Studio
。
从错误日志中,我可以看到它尝试从 Xunit 控制台运行程序位置而不是应用程序位置读取文件。
注意:我将Xunit2Settings的NoAppDomain用作 false。
在处理单元测试和文件时,我建议首先看看是否可以通过使用内存或程序集资源中的数据来避免使用实际的文件系统。这样并行执行、文件系统锁或类似环境相关的事情就不会成为问题。因此,如果您有机会从测试中重构文件系统(除非这是您的测试),我会先走这条路。
解决您遇到的问题的一种方法是使用绝对路径,您可以通过在测试中使用测试程序集位置然后使用 Path.Combine 相对路径来实现这一点。有一个很好的 StackOverflow 答案解释了如何获取程序集的路径: https ://stackoverflow.com/a/52956/5883153
您可以尝试的快速修复是使用Xunit2Settings WorkingDirectory设置与 VisualStudio 相同的当前目录,但这不是我测试或推荐的东西。