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

Jay*_*Jay 6 teamcity unit-testing

我已经TeamCity在我们的一个服务器上安装了CI,并且设法让它工作到一定程度,如果有人在SVN中提交,请TeamCity接收更改并在其末尾构建代码.

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

我们有一个测试项目(名为TeamTest)并且所有内容Unit Tests都写在其中,现在当我尝试将此项目添加为Build Stepin时TeamCity,我Runner Type应该选择什么?

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

我应该把什么路径Run tests from,如果亚军类型选择为NUnitMSTest?(它是项目TeamTest的 dll )

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

小智 11

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

如果它们是为NUnit编写的,您将选择NUnit运行器类型,对于MSTest,您将选择该运行器.

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

**\*Tests.dll
Run Code Online (Sandbox Code Playgroud)

这将包括所有文件夹中名为*something*Tests.dll的所有文件.您当然可以对您的个案进行硬编码,以便作为一个可能类似于以下内容的示例:

TeamTests\bin\Release\TeamTest.dll
Run Code Online (Sandbox Code Playgroud)

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

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

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