我已经在我们的某个服务器上为CI安装了TeamCity
,并设法让它正常工作,如果有人在SVN中提交,TeamCity
接收更改并构建代码它的结束。
现在我正在尝试在Unit Test
中添加我们的TeamCity
项目,这样我们也可以在提交代码时知道是否有任何测试失败。
我们有一个测试项目(名为 TeamTest ),所有Unit Tests
都写在其中,现在当我尝试在{{Build Step
中添加此项目时1}},我应该选择什么TeamCity
?
我是否需要在构建服务器上安装其他软件才能使其正常运行?
如果选择Runner Type
或Run tests from
的参赛者类型,我应该在NUnit
中添加哪条路径? (它是项目 TeamTest 的dll)
道歉,如果这些都是愚蠢的问题,但我尝试搜索互联网,询问TeamCity博客,但无法找到我的问题的答案。
答案 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捆绑在一起。