我可以在PhantomJS之外运行Durandal的测试框架吗?

时间:2016-03-07 11:46:00

标签: testing phantomjs durandal

Durandal Test Framework在PhantomJS中运行Jasmine测试。

我第一次实现这一点时,我遇到了很多错误,在命令提示符下阅读这些错误证明是非常繁琐的。

如果我在网络浏览器中加载spec.html文件,它会告诉我没有找到任何规格:

  

No Specs Found; browser screenshot

然而PhantomJS能够毫无问题地找到规格:

  

64 specs, 1 failure; PhantomJS view

有没有办法可以配置这些Jasmine测试来运行我的网页浏览器,而不是通过(或同样)PhantomJS?

我已经设置了一个新的index.html文件,并通过一个简单的var runTests = ...调用替换了require()部分:

require(['../test/specs/system.spec.js']);

Durandal的system.spec.js文件已加载到浏览器中,但Jasmine仍然声明未找到任何规格。

1 个答案:

答案 0 :(得分:0)

Jasmine的测试没有被运行,因为我没有告诉它重新执行。对此的解决方案是通过在require回调中调用它来简单地重新执行:

require(['../test/specs/system.spec.js'], function() {
  jasmine.getEnv().execute();
});

注意:这样做的一个缺点是没有找到规格'酒吧仍然存在,并且提出异常'对重新执行的规范的控制似乎不起作用:

Screenshot of issue described above