我应该选择哪种跑步者类型和其他设置在Team City上运行单元测试?

时间:2014-01-28 17:10:14

标签: unit-testing teamcity

我已经在我们的某个服务器上为CI安装了TeamCity,并设法让它正常工作,如果有人在SVN中提交,TeamCity接收更改并构建代码它的结束。

现在我正在尝试在Unit Test中添加我们的TeamCity项目,这样我们也可以在提交代码时知道是否有任何测试失败。

我们有一个测试项目(名为 TeamTest ),所有Unit Tests都写在其中,现在当我尝试在{{Build Step中添加此项目时1}},我应该选择什么TeamCity

我是否需要在构建服务器上安装其他软件才能使其正常运行?

如果选择Runner TypeRun tests from的参赛者类型,我应该在NUnit中添加哪条路径? (它是项目 TeamTest 的dll)

道歉,如果这些都是愚蠢的问题,但我尝试搜索互联网,询问TeamCity博客,但无法找到我的问题的答案。

1 个答案:

答案 0 :(得分:11)

单元测试项目所需的运行器类型完全取决于它们所针对的测试框架。

如果它们是为NUnit编写的,您将选择NUnit跑步者类型,对于MSTest,您可以选择该跑步者。

至于设置,您只需在List assembly files include列表中包含测试项目库的输出。 请记住,您可以在此表单中使用通配符,因此如果您有多个具有特定命名方案的单元测试项目,则可以通过使用以下方法包含所有这些:

**\*Tests.dll

这将包括所有文件夹中名为* something * Tests.dll的所有文件。 您当然可以硬编码您的个案,以便举例说明以下内容:

TeamTests\bin\Release\TeamTest.dll

根据我的经验,其余选项可以保留为默认值。 然后,TeamCity将运行它在找到的程序集中找到的所有测试,并在单个测试失败时自动使构建失败。

外部软件;如果您正在使用MSTest运行程序运行测试,则构建服务器将需要可用的MSTest二进制文件。 实现此目的的最简单方法是在构建服务器上安装Visual Studio,但如果您不想要额外的膨胀,可以按照here描述的步骤在没有Visual Studio的情况下安装MSTest。

但是,如果您选择NUnit作为测试框架,则不需要外部软件,因为NUnit与TeamCity捆绑在一起。