我正在尝试查看是否有办法在多个测试运行器之间获得一致的单元测试结果。目前的情况是我们有一个测试程序集,如果你在NUnit GUI中运行它们,其中4个测试通过,但是如果你使用TestDriven.NET或ReSharper测试运行器运行它们则会失败。在这些测试失败的情况下(抛出System.NullReferenceException),Application.ExecutablePath似乎返回测试运行程序的可执行文件而不是测试程序集的DLL。

我应该使用的是否应该使用Application.ExecutablePath以外的值(我们目前正在使用它来访问DLL的.config文件中的值)?在其他测试运行器失败的情况下,NUnit GUI执行(或不执行)导致其行为正常的是什么?

有帮助吗?

解决方案

您可以尝试使用System.Reflection.Assembly类,例如

String strPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);

本课程中还有其他一些方法和属性,所以我相信你会找到你需要的东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top