首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我们如何在不加载JavaScript的情况下从Jenkins (Hudson)运行jasmine测试?

我们如何在不加载JavaScript的情况下从Jenkins (Hudson)运行jasmine测试?
EN

Stack Overflow用户
提问于 2011-09-30 18:42:01
回答 4查看 22.7K关注 0票数 17

我们有一个丰富的web客户端。我们的控制器和服务外观是用coffeescript (JavaScript)和jquery编写的。在过去,它们应该是java。

为了从Jenkins/Hudson运行我们的jasmine测试,我们使用JavaScript的junit和htmlunit来加载一个面向测试的jsp页面,其中包含jasmine规范。

当Htmlunit试图运行时,它尝试getPage()会失败,这可能是因为XML解析器类路径在我们的世界中非常难以跟踪。

我们只希望能够从Jenkins运行我们的JavaScript测试,并在JavaScript测试未通过时报告失败。我们只是使用jsp和htmlunit来运行JavaScript测试。我们可以将JavaScript测试和javascript代码加载到JavaScript引擎中吗?如果是这样的话,是怎么做的?

EN

回答 4

Stack Overflow用户

发布于 2011-10-10 11:23:15

听起来像是在Java环境中。我的jasmine-maven-plugin可能很合适。

票数 14
EN

Stack Overflow用户

发布于 2013-01-23 06:14:22

Jasmine Reporters也是一种解决方案。例如,它有通过PhantomJS运行的指令,它可以生成JUnit XML,这样Jenkins就可以本机地理解测试结果,绘制测试计数、持续时间和失败情况的图表。

此外,通常随xvfb提供的"xvfb-run“包装器在这里非常有用,因此您可以执行"xvfb-run phantomjs.runner.sh ...”在一个真正无头的环境中。

票数 8
EN

Stack Overflow用户

发布于 2012-06-29 14:43:27

我之前已经通过使用一个名为jasmine-node的node.js插件运行测试来解决这个问题

当然,这个解决方案需要node.js和一些节点模块来正确运行jasmine测试。没有真正的浏览器运行测试,而是一个使用名为jsdom的模块的模拟浏览器,它基本上创建了一个无头浏览器,更具体地说,是一个DOM,测试可以与之交互。

有用于jQuery,underscore和其他的节点模块,所以这些模块也可以测试。如果您更愿意在浏览器中运行测试,您甚至可以跳过整个浏览器模拟,尽管我发现与自动化Jenkins测试相比,它太麻烦了。

jasmine-node生成jUnit测试报告,Jenkins可以很好地解释这些报告。

我刚刚意识到有一些jenkins-jasmine-node插件可以简化这个过程。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7609223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档