PhantomJS QUnitTeamCityDriver QUnit测试运行

Tha*_*lia 4 javascript unit-testing qunit phantomjs

我想在TeamCity中使用JavaScript的单元测试.

我正在使用QUnit,我已经看到了一些建议使用phantomjs和QUnitTeamCityDriver的地方.我只是无法让它工作......

我没有很多这方面的经验,似乎甚至无法让phantomjs在命令行中运行单元测试.

我真的从QUnitTeamCityDriver:simple_test.html复制了这个例子

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>QUnit Example</title>
  <link rel="stylesheet" href="test_tools/qunit-1.10.0.css">
  <script type="text/javascript" src="resources/jquery-1.8.1.js"></script>
  <script type="text/javascript" src="test_tools/qunit-1.10.0.js"></script>
  <script type="text/javascript" src="qunit_teamcity_driver/QUnitTeamCityDriver.js"></script> 
  <script type="text/javascript" src="tests.js"></script> 
</head>
<body>
  <div id="qunit"></div>
  <h1 id="qunit-header">QUnit example</h1>
  <h2 id="qunit-banner"></h2>
  <div id="qunit-testrunner-toolbar"></div>
  <h2 id="qunit-userAgent"></h2>
  <ol id="qunit-tests"></ol>
  <div id="qunit-fixture">test markup, will be hidden</div>   
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用simple_test.html,tests.js有一些简单的测试可以工作与否.

当然,html中的其他引用文件位于相应的文件夹中.

phantomjs.exe,tests.js和simple_test.html位于我调用的目录的根目录中.

TeamCity构建的方向是:

Add a "Command Line" Build Step to your build in TeamCity which executes Tests.htm via PhantomJS
Command executable: C:\PhamtomJS\phantomjs.exe
Command parameters: \Scripts\QUnitTeamCityDriver.phantom.js Tests.htm
Run Code Online (Sandbox Code Playgroud)

(这不起作用,所以我想在插入TeamCity内的命令行之前测试实际的命令行)

我试过的一些事情:

phantomjs.exe tests.js
phantomjs.exe tests.js simple_test.html
phantomjs.exe simple_test.html
phantomjs.exe test_tools\qunit-1.10.0.js tests.js simple_test.html
phantomjs.exe qunit_teamcity_driver/QUnitTeamCityDriver.phantom.js simple_test.html
Run Code Online (Sandbox Code Playgroud)

结果:要么是Parse错误要么是找不到变量:test

拜托,有人能指出我正确的方向,给我一个例子,告诉我我做错了什么?非常感谢你.

woo*_*san 6

如果您的技术堆栈匹配,我使用Chutzpah取得了成功.

除此之外,它通过处理来自kabaros描述的phantomjs的调用以及提供TeamCity和Visual Studio集成来为您做繁重的工作.