fin*_*elp 16 javascript jquery unit-testing jasmine jenkins
我们有一个丰富的Web客户端.我们的控制器和服务外观用coffeescript(JavaScript)和jquery编写.过去他们本来就是java.
要从Jenkins/Hudson运行我们的JavaScript jasmine测试,我们使用java的junit和htmlunit来加载一个包含jasmine规范的面向测试的jsp页面.
当Htmlunit试图运行时,由于XML解析器类路径在我们的世界中追踪极具挑战性,它可能会因为尝试getPage()而崩溃.
我们只是希望能够从Jenkins运行我们的JavaScript测试,如果JavaScript测试没有通过,它会报告失败.我们只是使用jsp和htmlunit来运行JavaScript测试.我们可以将JavaScript测试和javascript代码加载到JavaScript引擎中,使用Jenkins作为开始它的东西吗?如果是这样,怎么样?
Jasmine Reporters也是一个解决方案.它具有通过PhantomJS无头运行的指令,它可以生成JUnit XML,因此Jenkins可以本地理解测试结果,绘制测试计数,持续时间和故障随时间变化.
此外,通常提供xvfb的"xvfb-run"包装器在这里提供了很大帮助,因此您可以在真正的无头环境中执行"xvfb-run phantomjs.runner.sh ...".
小智 6
我之前通过使用名为jasmine-node的node.js插件运行测试来解决这个问题
当然,这个解决方案需要node.js和一些节点模块来正确运行jasmine测试.没有真正的浏览器运行测试,而是使用名为jsdom的模块模拟,它基本上创建了无头浏览器,更具体地说,是测试可以与之交互的DOM.
有jQuery的节点模块,下划线,还有其他的节点模块,所以这些也可以测试.如果你宁愿在浏览器中运行测试,你甚至可以跳过整个浏览器仿真,尽管我发现它与自动Jenkins测试相比太麻烦了.
jasmine-node生成jUnit测试报告,Jenkins可以解释得很好.
我刚刚意识到有一些jenkins-jasmine-node插件可以简化这个过程.
| 归档时间: |
|
| 查看次数: |
21532 次 |
| 最近记录: |