c# - AppDomain.CurrentDomain.BaseDirectory 在运行测试后发生变化?

标签 c# .net unit-testing mstest appdomain

在 VS2012 中,我有一堆 (MS) 单元测试,它们使用我存储在与测试文件类相同的文件夹中的不同 xml/文本文件。

我使用 File.OpenRead(AppDomain.CurrentDomain.BaseDirectory + "file") 打开这些文件

如果我只运行一个测试,它会工作,文件会被读取。

如果我一次运行所有测试,BaseDirectory 返回一个不同的路径(在 TestResults/Deploy/currentdatetime/Out 中)并且显然无法在那里找到文件。

怎么办?

谢谢!

最佳答案

我们在 VS 2017 中遇到了这个问题,但所有测试(包括个别测试)都是从 TestResults 文件夹运行的。我们的问题是 log4net.config 没有被复制到 TestResults 文件夹(即使 Copy Always 为 true)。

我们的解决方案是从 Solution Items 文件夹(直接在解决方案下)中删除 LocalTestRun.testrunco​​nfig 文件。当我们这样做时,它开始使用\bin\debug\文件夹,并找到我们的 log4net.config 文件。

关于c# - AppDomain.CurrentDomain.BaseDirectory 在运行测试后发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19764442/

相关文章:

C#/.NET 项目 - 我的设置是否正确?

java - Java 新手——返回单元测试失败

c# - 如何知道应用程序正在关闭

c# - C# 数组中的线程安全

c# - 如何根据频率产生声音?

java - 嵌入式 jetty ServletTester 提供单个静态文件

reactjs - 在 Redux 中测试操作创建器时如何模拟 Firebase SDK?

c# - 处理 MS Word 文件中的文本的最简单方法

c# - 异步组件在 MVC 6 中不起作用

c# - Microsoft Enterprise Library 有用吗?