TeamCity 中的 运行 QUnit 测试应该使用什么构建步骤?
What Build Step should be used for running QUnit tests in TeamCity?
我目前有一个包含两个步骤的 TeamCity 构建配置:
- MSBuild
- 执行 powershell sciprt
我想再添加一个:
- 运行 QUnit 测试
在 Visual Studio 我使用 Chutzpah 来 运行 我的 QUnit 测试。似乎没有 "Runner type" 适用于 QUnit 测试,因为我确实看到了一个适用于 NUnit 的测试,所以我想知道我是否在看这个。
我是否应该获取 TeamCity 扩展来为 QUnit 测试添加 "Runner type"?我应该创建一个 运行s chutzpah-console 的 powershell 脚本吗?如果是这样,我应该如何确保测试输出被 TeamCity 接收(我是否需要 /nunit2
或 /junit
标志?)?
我做了一些研究,请允许我分享...
我已经应用了我的 Google-fu but that leads to a blog post with complicated QUnit tests with special TeamCity messages (or perhaps I misunderstood?) and a blog post on using a command-line build step to call PhantomJS,它使用了一个相当做作的 html 文件,如果我已经在 Visual Studio 中使用 Chutzpah(或者也许我误解)?
我已经完成 the Chutzpah Full Documentation but as far as CI goes it only has a section on TFS Build, nothing on TeamCity or CI in general. I've carefully looked through the command line options documentation,它确实有一个相关选项:
/teamcity :Forces TeamCity mode (normally auto-detected)
这表明您通常不需要做 任何事情 来让事情正常进行,但事实并非如此:我的 sln
(或更好:csproj
) 包含几个带有 QUnit 测试的 js
文件,但 TeamCity 未显示任何测试。
那么,如何让 TeamCity 以最精简的方式进行 运行 QUnit 测试/如何在 TeamCity 构建步骤中使用 Chutzpah?
如果您已经在使用 Chutzpah,则不需要进入特殊 PhantomJS 调用的 "service messges" 或自定义 html 文件。这是以 (c) 精益方式进行的一种(其他)方法。
这种类型的构建步骤没有特定的 运行ner 类型。 但也不需要自定义 Powershell 脚本:它将是一行仅脚本。您可以只使用 Command Line
步骤来调用 Chutzpah。为了更完整,假设您已经在 Windows 机器上安装了 TeamCity 运行ning,请执行以下步骤:
安装chutzpah.console.exe
。最简单的方法可能是使用 chocolatey to install the Chutzpah package 在 Powershell 中使用此命令:
choco install chutzpah
这会安装 Chutzpah 并确保 exe
在您的路径中(您可能需要重新启动 TeamCity 部件才能注意到这一点!)。
请注意,您也可以通过某种方式在您的 CI 服务器上手动获取 chutzpah.console.exe
(例如,从您的开发机器上获取它)并使用完整路径引用它或自己将其放置在您的路径中.
使用自定义脚本添加 Command Line
构建步骤,如下所示:
chutzpah.console.exe "MyProject/UnitTestsSubDir"
例如:
通过一些黑魔法,这就是全部所需:您的测试将是 运行(请参阅构建日志)并且 TeamCity 将获取测试结果。
我目前有一个包含两个步骤的 TeamCity 构建配置:
- MSBuild
- 执行 powershell sciprt
我想再添加一个:
- 运行 QUnit 测试
在 Visual Studio 我使用 Chutzpah 来 运行 我的 QUnit 测试。似乎没有 "Runner type" 适用于 QUnit 测试,因为我确实看到了一个适用于 NUnit 的测试,所以我想知道我是否在看这个。
我是否应该获取 TeamCity 扩展来为 QUnit 测试添加 "Runner type"?我应该创建一个 运行s chutzpah-console 的 powershell 脚本吗?如果是这样,我应该如何确保测试输出被 TeamCity 接收(我是否需要 /nunit2
或 /junit
标志?)?
我做了一些研究,请允许我分享...
我已经应用了我的 Google-fu but that leads to a blog post with complicated QUnit tests with special TeamCity messages (or perhaps I misunderstood?) and a blog post on using a command-line build step to call PhantomJS,它使用了一个相当做作的 html 文件,如果我已经在 Visual Studio 中使用 Chutzpah(或者也许我误解)?
我已经完成 the Chutzpah Full Documentation but as far as CI goes it only has a section on TFS Build, nothing on TeamCity or CI in general. I've carefully looked through the command line options documentation,它确实有一个相关选项:
/teamcity :Forces TeamCity mode (normally auto-detected)
这表明您通常不需要做 任何事情 来让事情正常进行,但事实并非如此:我的 sln
(或更好:csproj
) 包含几个带有 QUnit 测试的 js
文件,但 TeamCity 未显示任何测试。
那么,如何让 TeamCity 以最精简的方式进行 运行 QUnit 测试/如何在 TeamCity 构建步骤中使用 Chutzpah?
如果您已经在使用 Chutzpah,则不需要进入特殊 PhantomJS 调用的 "service messges" 或自定义 html 文件。这是以 (c) 精益方式进行的一种(其他)方法。
这种类型的构建步骤没有特定的 运行ner 类型。 但也不需要自定义 Powershell 脚本:它将是一行仅脚本。您可以只使用 Command Line
步骤来调用 Chutzpah。为了更完整,假设您已经在 Windows 机器上安装了 TeamCity 运行ning,请执行以下步骤:
安装
chutzpah.console.exe
。最简单的方法可能是使用 chocolatey to install the Chutzpah package 在 Powershell 中使用此命令:choco install chutzpah
这会安装 Chutzpah 并确保
exe
在您的路径中(您可能需要重新启动 TeamCity 部件才能注意到这一点!)。请注意,您也可以通过某种方式在您的 CI 服务器上手动获取
chutzpah.console.exe
(例如,从您的开发机器上获取它)并使用完整路径引用它或自己将其放置在您的路径中.使用自定义脚本添加
Command Line
构建步骤,如下所示:chutzpah.console.exe "MyProject/UnitTestsSubDir"
例如:
通过一些黑魔法,这就是全部所需:您的测试将是 运行(请参阅构建日志)并且 TeamCity 将获取测试结果。