代码之家  ›  专栏  ›  技术社区  ›  John_

带有nunit gui的environment.currentdirectory与teamcity值不同,如何同步它们?

  •  2
  • John_  · 技术社区  · 15 年前

    实际上,我有一些集成测试使用相对文件路径中的文件。为了帮助理解它,以下是文件结构:

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

    GUI从根目录运行测试,但是当TeamCity运行测试时,它从每个测试dlls bin目录运行测试。现在我不介意哪一个可以跟随另一个,但我确实需要它们保持不变,否则我的相对路径就行不通了!

    有什么想法吗?

    P.S.使用Teamcity 5.0和Nunit 2.5。

    2 回复  |  直到 15 年前
        1
  •  2
  •   popester    15 年前

    你可能不想依赖 CurrentDirectory .我建议您阅读该文档,但您需要注意的一点是,currentdirectory是.exe的起始位置:它可能是系统中的任何路径。例如,假设您的用户将.exe(或任何.exe使用您的dll)添加到其路径中。然后,他们可以导航到c:\foo\bar并从那里启动.exe,这会将当前目录设置为“c:\foo\bar”,您可能无法处理该问题。

    我认为你最好重新编写你正在做的事情,这样你就不需要依赖于当前目录了。现在依赖currentdirectory会遇到什么问题?

        2
  •  0
  •   Dan McClain    15 年前

    启动应用程序时,是否确保teamcity和nunit使用相同的工作目录?

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