我目前有两个步骤的TeamCity构建配置:
我想再添一个:
在Visual Studio中我使用Chutzpah来运行我的QUnit测试。似乎没有" Runner类型"虽然对于QUnit测试是合适的,并且因为我确实看到一个用于NUnit,我想知道我是否正确地看着这个。
我应该获得一个TeamCity扩展来添加" Runner类型"对于QUnit测试?我应该创建一个运行chutzpah-console的powershell脚本吗?如果是这样,我应该如何确保TeamCity获取测试输出(我需要/nunit2
或/junit
标志吗?)?
我做过一些研究,请允许我分享......
我已经应用了我的Google-fu,但这会导致a blog post with complicated QUnit tests with special TeamCity messages(或者我误解了?)和a blog post on using a command-line build step to call PhantomJS使用了一个相当人为的html文件,这对我来说似乎有点过头了如果我已经在Visual Studio中使用Chutzpah了(或者我误解了)?
我已经完成了the Chutzpah Full Documentation但是就CI来说它只有a section on TFS Build,一般来说没有关于TeamCity或CI的任何内容。我仔细查看了the command line options documentation,它确实有一个相关选项:
/teamcity :Forces TeamCity mode (normally auto-detected)
这表明你通常不需要做任何事情以使事情有效,但事实并非如此:我的sln
(或更好: csproj
)包含几个带有QUnit测试的js
个文件,但TeamCity没有显示任何测试。
那么,如何让TeamCity以(c)最简洁的方式运行QUnit测试/如何在TeamCity构建步骤中使用Chutzpah?
答案 0 :(得分:2)
不需要"服务消息"或者如果您已经使用Chutzpah,那么进入特殊PhantomJS调用的自定义html文件。这是(c)精益方式的一种(另一种)方式。
此类构建步骤没有特定的运行器类型。但也不需要自定义Powershell脚本:它只是一行脚本。您可以使用Command Line
步骤来调用Chutzpah。为了更完整,假设您已经在Windows计算机上运行了TeamCity,请按照以下步骤操作:
安装chutzpah.console.exe
。最简单的方法是使用chocolatey在Powershell中使用此命令安装Chutzpah package:
choco install chutzpah
这将安装Chutzpah,并确保exe
在您的路径中(您可能需要重新启动TeamCity部件才能注意到这一点!)。
请注意,您也可以以某种方式在CI服务器上手动获取chutzpah.console.exe
(例如从您的开发机器中获取)并使用完整路径引用它或自己将其放在路径中。
使用如下自定义脚本添加Command Line
构建步骤:
chutzpah.console.exe "MyProject/UnitTestsSubDir"
E.g:
通过一些黑魔法,这就是它所需要的:你的测试将被运行(参见构建日志),TeamCity将获得测试结果。