我有一些JavaScript,我正在使用Jasmine进行测试。我想在用户按下“运行测试”时在浏览器窗口中运行测试。使用Jasmine 1.3,我已经使用以下代码成功设置了this JSFiddle:
<a href="#" onclick="jasmineEnv.execute()">run tests</a>
<script type="text/javascript">
window.jasmineEnv = (function () {
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.specFilter = function (spec) {
return htmlReporter.specFilter(spec);
};
return jasmineEnv;
})();
</script>
Jasmine 2.0提供了一些我真正需要的新功能。但是,我无法弄清楚如何进行设置,以便在有人点击“运行测试”按钮时运行测试。我正在使用新的boot.js文件。但是,我没有运气。有人可以帮我把这个样本从Jasmine 1.3迁移到Jasmine 2.0吗?
谢谢
答案 0 :(得分:1)
测试用例执行由以下剪切的文件boot.js
触发:
window.onload = function() {
if (currentWindowOnload) {
currentWindowOnload();
}
htmlReporter.initialize();
env.execute();
};
您可以在boot.js
文件本身中修改此实现,以便在函数调用下执行,或者您可以编写受实际boot.js
启发的自定义启动代码。
答案 1 :(得分:1)
无法发布此评论作为评论!
jsfiddle中的Jasmine 2.0 http://jsfiddle.net/88Xa6/4/
如@ user3037143所述,初始化在boot.js处理。
确保库文件到位:
<script type='text/javascript' src="/libs/jasmine/2.0.0/jasmine.js"></script>
<script type='text/javascript' src="/libs/jasmine/2.0.0/jasmine-html.js"></script>
<link rel="stylesheet" type="text/css" href="/libs/jasmine/2.0.0/jasmine.css">
<!-- Add any custom reporters (Console / Junit / etc) here.
Ensure necessary initialization triggers are set in
boot when adding more reporters. -->
<script type='text/javascript' src="/libs/jasmine/2.0.0/boot.js"></script>
您可以选择包含规范,也可以将其定义为内联:
<script src="spec.js"></script>
或
<script type='text/javascript'>
describe("My Suite", function() {
it("Should be true", function() {
expect(1).toBe(1);
});
});
</script>