Unit testing 在TeamCity中运行QUnit测试应该使用什么构建步骤?

Unit testing 在TeamCity中运行QUnit测试应该使用什么构建步骤?,unit-testing,msbuild,teamcity,qunit,chutzpah,Unit Testing,Msbuild,Teamcity,Qunit,Chutzpah,目前,我有一个TeamCity构建配置,包含两个步骤: MSBuild 执行powershell sciprt 我想再加一个: 运行QUnit测试 在VisualStudio中,我使用Chutzpah运行QUnit测试。似乎没有适合于QUnit测试的“Runner类型”,因为我确实看到了NUnit的一种类型,所以我想知道我是否在右边看这个 我是否应该获得TeamCity扩展来为QUnit测试添加“跑步者类型”?我应该创建一个运行chutzpah控制台的powershell脚本吗?如果是这

目前,我有一个TeamCity构建配置,包含两个步骤:

  • MSBuild
  • 执行powershell sciprt
我想再加一个:

  • 运行QUnit测试
在VisualStudio中,我使用Chutzpah运行QUnit测试。似乎没有适合于QUnit测试的“Runner类型”,因为我确实看到了NUnit的一种类型,所以我想知道我是否在右边看这个

我是否应该获得TeamCity扩展来为QUnit测试添加“跑步者类型”?我应该创建一个运行chutzpah控制台的powershell脚本吗?如果是这样,我应该如何确保TeamCity获取测试输出(我是否需要
/nunit2
/junit
标志?)

我做了一些研究,请允许我分享

我已经应用了我的,但这导致(或者可能我误解了?),并且使用了一个相当做作的html文件,如果我已经在Visual Studio中使用Chutzpah(或者可能我误解了),这对我来说似乎是过火了

我已经看过了,但就CI而言,它只有TeamCity或CI方面的内容。我已经仔细查看了,它确实有一个相关的选项:

这表明您通常不需要做任何事情来让事情正常工作,但情况肯定不是这样:my
sln
(或者更好:
csproj
)包含几个带有QUnit测试的
js
文件,但TeamCity没有显示任何测试

那么,如何让TeamCity以(c)最精简的方式运行QUnit测试/如何在TeamCity构建步骤中使用Chutzpah?

如果您已经在使用Chutzpah,则无需“服务消息”或进入特殊PhantomJS调用的自定义html文件。这里有一种(另一种)精益方式

对于这种类型的构建步骤,没有特定的运行程序类型。但是也不需要自定义Powershell脚本:它只需要一行脚本。您可以使用
命令行
步骤调用Chutzpah。更完整地说,假设您已经在Windows计算机上运行TeamCity,请执行以下步骤:

  • 安装
    chutzpah.console.exe
    。最简单的方法可能是在Powershell中使用以下命令安装:

    choco install chutzpah
    
    这将安装Chutzpah,并确保
    exe
    在您的路径中(您可能需要重新启动TeamCity部件以引起注意!)

    请注意,您也可以在CI服务器上以某种方式手动获取
    chutzpah.console.exe
    (例如,从您的开发机器上获取),并使用完整路径引用它,或者自己将其放置在您的路径中

  • 使用如下自定义脚本添加
    命令行
    生成步骤:

    chutzpah.console.exe "MyProject/UnitTestsSubDir"
    
    例如:


  • 通过一些黑魔法,这就是所需要的:您的测试将运行(请参阅构建日志),TeamCity将获取测试结果。

    好吧,我在差不多写完我的问题时找到了答案。我想最好还是发帖子,把我的解决方案作为一个自我回答分享,不管它对一些人来说有多明显(恐怕这个答案还不存在/还不容易找到)也许有人会提出更好的解决方案!?
    chutzpah.console.exe "MyProject/UnitTestsSubDir"