你的问题真的更像是三个,但我可以回答第三个。我一直在做的是使用非常有用的testem ;只需让 Chrome 访问一个在后台不断运行测试的 URL,以确保一切正常。如果没有,CLI(或标题栏中的计数器)会通知您修复损坏的代码。
我的 testem.yml 配置如下所示:
framework: jasmine
test_page: lib/testRunner.html
然后我坚持我的 specrunner,这样我就不必每次想要测试某些东西时都重建一个新的:
<!doctype html>
<html>
<head>
<title>Test'em</title>
<script src="vendor/jquery/jquery.min.js"></script>
<script src="/testem/jasmine.js"></script>
<script src="vendor/jasmine-jquery/lib/jasmine-jquery.js"></script>
<script src="/testem.js"></script>
<script src="/testem/jasmine-html.js"></script>
<link rel="stylesheet" href="/testem/jasmine.css">
</head>
<body>
<div id="jasmine_content"></div>
<script src="vendor/requirejs/require.js"></script>
<script>
// require config stripped out for brevity
require(['specs'], function() {
var jasmineEnv = jasmine.getEnv();
jasmineEnv.addReporter(new jasmine.HtmlReporter);
jasmineEnv.execute();
});
</script>
</body>
</html>
我一直在使用它来测试使用 RequireJS 用 Backbone 编写的应用程序,并且测试运行器非常健壮。我建议你试一试。