0

简而言之,我有一个解决方案可以在IDE中正常生成,单元测试可以在NUnit GUI(通过NUnitit VS2008插件)下正常运行。然而,当我执行我的TeamCity构建运行器时,所有需要文件访问的单元测试(例如,针对特定XML文件运行测试),我只是得到System.IO.DirectoryNotFoundExceptions。配置TeamCity + NUnit单元测试,以便可以正确加载文件

其原因很明显:它正在寻找那些支持通过各种单元测试加载到错误文件夹中的XML文件。

的方式我的单元测试的结构如下所示:

+-- project folder 
    +-- unit tests folder 
     +-- test.xml 
     +-- test.cs 
    +-- project file.xaml 
    +-- project file.xaml.cs 

我的项目全部拥有自己的单元测试文件夹,其中包含cs文件以及任何XML文件,XML架构等是必要的运行测试。因此,当我编写我的test.cs时,我在代码中寻找“test.xml”,因为它们位于同一个文件夹中(实际上,我做了类似于.... \ unit tests \ test的操作。 XML,但这很愚蠢)。正如我之前所说的,测试在NUnit中运行良好。但那是因为单元测试是该项目的一部分。当从TeamCity运行单元测试时,我正在执行它们,将其复制到主应用程序的输出文件夹中。这些单元测试XML文件应该被而不是被复制到输出文件夹中,以使测试通过。

任何人都可以提出一个更好的方法来组织我在每个项目中的单元测试(这是主应用程序的依赖关系),这样我可以从TeamCity build runner的NUnit 执行单元测试吗?我唯一能想到的其他选择就是将测试XML数据放入代码中,而不是从文件中加载。我宁愿不要这样做。

回答

2

有时候,在发布帖子之前先熟悉问题是最好的选择。我应该知道我应该输入程序集自己的项目调试文件夹的相对路径。问题解决了。

相关问题