带有NUnit GUI的Environment.CurrentDirectory与TeamCity值不同,我该如何同步它们?

时间:2009-12-11 14:57:19

标签: nunit teamcity

如上所述,我有一些使用相对文件路径中的文件的集成测试。为了帮助它,这里是文件结构:

/Dependencies
/VideoTests/bin/release/video.dll
/SearchTests/bin/release/search.dll
/OtherProjects

GUI正在从根运行测试,但是当TeamCity运行测试时,它正在运行每个测试dll bin目录中的测试。现在我不介意哪一个可以跟随另一个,但我确实需要它们是相同的,否则我的相对路径将无法工作!

有什么想法吗?

P.S。使用TeamCity 5.0和NUnit 2.5。

2 个答案:

答案 0 :(得分:2)

您可能不想依赖CurrentDirectory。我建议阅读文档,但是你想要带走的主要观点是CurrentDirectory是.exe的起源地:它可以是系统中的任何路径。例如,假设您的用户将.exe(或任何.exe使用您的DLL)添加到其路径中。然后他们可以导航到c:\ foo \ bar并从那里启动.exe,这会将CurrentDirectory设置为“C:\ foo \ bar”,你可能无法处理它。

我认为你最好重做你正在做的事情,这样你就不会依赖于CurrentDirectory。你现在依靠CurrentDirectory遇到了什么问题?

答案 1 :(得分:0)

启动应用程序时,您是否确保TeamCity和NUnit都使用相同的工作目录?

如果不是,您可以调整测试代码中的当前目录。