Javascript 使用qunit和jstestrunner的真实示例?
我试图在Maven中使用jstestrunner和qunit设置一些javascript单元测试。我做过很多Java单元测试,包括设置基础设施,但我对Javascript做这方面的工作还不熟悉。jstestrunner页面上的设置信息跳过关键信息。我会在jstestrunner邮件列表上询问这一点,但是他们的codehaus页面上的邮件列表链接处于非活动状态,我无法找到联系开发负责人Christopher Hunt的方法,除非提交JIRA,这似乎不合适 用法页面讨论了如何设置phantomjs,但没有提到任何关于qunit接口的内容。我想这对经常使用qunit的人来说可能是显而易见的Javascript 使用qunit和jstestrunner的真实示例?,javascript,maven,phantomjs,qunit,jstestrunner,Javascript,Maven,Phantomjs,Qunit,Jstestrunner,我试图在Maven中使用jstestrunner和qunit设置一些javascript单元测试。我做过很多Java单元测试,包括设置基础设施,但我对Javascript做这方面的工作还不熟悉。jstestrunner页面上的设置信息跳过关键信息。我会在jstestrunner邮件列表上询问这一点,但是他们的codehaus页面上的邮件列表链接处于非活动状态,我无法找到联系开发负责人Christopher Hunt的方法,除非提交JIRA,这似乎不合适 用法页面讨论了如何设置phantomjs,
我已经创建了根JUnit测试包装器,但是我不知道如何设置到qunit的丢失链接。我已经使用qunit、phantomjs、ant和的修改版本运行了一些qunit测试。代码本身在一个封闭源代码项目中,但其要点是我在一个
build.xml
文件上调用ant test
,该文件只有一个目标,即test
目标
test
目标使用qunit运行程序和一些命令行参数调用phantomjs
。其中涉及到一些魔术,比如猜测qunit运行程序想要一个包.json
,它从中注入要测试的文件。测试本身通过ant构建文件中的参数来传递
对于我想要测试的每个文件,我都有单独的测试文件,每个测试文件至少有一个模块
定义
qunit运行程序为qunit构造配置对象,注入要测试的文件,并包含qunit过程各个阶段的回调挂钩,这使我能够构造jUnit外观的xml,以提供给Jenkins构建服务器页面
我同意您最初的结论,即JavaScript世界的单元测试框架仍处于初级阶段。但另一方面,JavaScript是一种非常有可塑性的语言,测试框架所依赖的铁铸惯例很少。在其他语言中,如果没有某种模拟框架来配合单元测试框架,您也不会走得很远。我刚刚使用QUnit、PhantomJS和js testrunner建立并运行了一个基本设置。 此链接帮助了一些人: 对于我使用的配置:
package delta;
import org.codehaus.jstestrunner.junit.JSTestSuiteRunner;
import org.junit.runner.RunWith;
@RunWith(JSTestSuiteRunner.class)
@JSTestSuiteRunner.Include(value="firstTest.html")
@JSTestSuiteRunner.ResourceBase({ "src-web/delta", "../lib" })
public class FirstTest {
}
firstTest.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<script type="text/javascript" src="script/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="script/qunit-1.14.0.js"></script>
<link type="text/css" rel="stylesheet" href="css/qunit-1.14.0.css"/>
<script type="text/javascript" src="tests.js"></script>
<title>firstTest</title>
</head>
<body>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
</body>
</html>
我从Eclipse中调用了JUnit,它使用项目根目录,因此需要测试文件的路径
配置简单测试后,我可以使用标准Eclipse Run As->JUnit test执行它们:
这个问题对您有帮助吗?这是更有用的背景,是的。这也有助于我得出Javascript单元测试仍处于形成阶段的结论。
/**
* Supports firstTest.html
*/
(function() {
var val;
module( "First Test", {
setup: function() {
val = 1
}
});
test( "hello test", function() {
ok( val == "1", "Passed!" );
});
}());