用于运行多个测试程序集的NAnt脚本

时间:2010-01-16 22:51:59

标签: nunit nant

我刚刚进入TDD,从环顾四周看,一般的概念似乎是从代码项目到测试项目的一对一映射。我的问题是,如果你遵循这条路线,并有多个测试程序集,那么作为NAnt脚本的一部分运行这些程序的最佳方法是什么?如果它有所作为,我使用NUnit作为我的测试框架。

2 个答案:

答案 0 :(得分:0)

您可以通过NUnit GUI创建“测试项目”,并将其保存到文件中。在GUI中,您可以向项目中添加测试dll,然后测试dlls。

然后,您可以从NAnt中将该文件传递到NUnit控制台。 e.g。

<property name="nunit.output" value="${dir.reports.nunit}\nunit-results.xml" />
<property name="nunit.input" value="proj.nunit" />

<exec program="${dir.tools}\nunit\bin\nunit-console.exe" failonerror="true">
    <arg value="${nunit.input}" />
    <arg value="/xml:${nunit.output}" />
</exec>

这样,NAnt无需了解测试dll,只需知道包含该信息的NUnit项目。

答案 1 :(得分:0)

我建议最好的方法是使用引用每个项目文件(csproj)的CSC命令而不是解决方案,分别从NAnt编译两个项目。然后使用nunit-console命令(作为单独的Nant任务)来执行测试。

您是否有一个构建大型脚本/文件来执行此操作或为每个项目或任务分离单独的脚本/文件取决于您(或您的项目有多复杂)。

我建立团队构建的方式是我有一个“主”构建脚本,它调用其他构建脚本来执行特定任务。例如,'master'调用'compile'然后'test'(适当地传入'compile'脚本的结果)。这样,我的核心项目的编译就与自动化测试分开了。