3

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

除了我应该使用的 Application.ExecutablePath 之外,是否还有其他值(我们目前正在使用它来访问 DLL 的 .config 文件中的值)?NUnit GUI 在做什么(或不做什么)导致它在其他测试运行程序失败时正常运行?

4

1 回答 1

4

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

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

这个类中还有一些其他的方法和属性,所以我相信你会找到你需要的。

于 2008-11-10T15:38:32.340 回答