Xunit测试案例中的AppDomain用法问题 - 捕获脚本



我正在运行Xunit测试用例,如我上一个问题中所述。

如何使用蛋糕(C#make)脚本在Xunit中通过Xunit中的测试案例计数

在运行测试用例时,尝试从我的AppDomain访问文件时,我的大多数测试用例都失败了。

测试用例在Visual Studio中成功。

从错误日志中,我可以看到它试图从Xunit Console Runner位置而不是应用程序位置读取文件。

注意:我将xunit2settings的noAppdomain用作false。

使用单元测试和文件时,我建议您首先查看是否可以通过在内存或汇编资源中使用数据来避免使用实际文件系统。这样,并行执行,文件系统锁或类似的环境与之相关。因此,如果您有机会从测试中重构文件系统(除非这是您的测试),我将首先走那个路线。

解决您所遇到的问题的一种方法是使用绝对路径,您可以在使用测试组件位置的测试中实现这一目标,然后使用Path.com.bine。有一个很好的Stackoverflow答案,解释了如何获取组装的路径:https://stackoverflow.com/a/52956/5883153

您可以尝试的快速修复程序是使用Xunit2Settings WorkingDirectory设置与VisualStudio相同的当前端口,但这不是我测试或推荐的内容。

最新更新