我最近采用了Dojo Toolkit作为我的第一个JavaScript库,处于技术债务的门槛,我需要开始测试。我首先研究了Dojo Object Harness(DOH)单元测试框架,并通过查看dojo工具包源代码中的实践测试用例了解到最多:
common/dojo/util/doh/tests
common/dojo/dijit/tests
然而,即使有这些例子,我也无法解决我认为是DOH源代码中的错误的错误。这是我的错误:
1 tests to run in 1 groups
------------------------------------------------------------
GROUP "tests.testSomeDialog" has 1 test to run
Error: test timeout in ../../../../net/js/tests/test_SomeDialog.html
ERROR IN:
function (){
// FIXME: implement calling into the url's groups here!!
return this.d;
}
FAILED test: ../../../../net/js/tests/test_SomeDialog.html 15003 ms
WOOHOO!!
------------------------------------------------------------
| TEST SUMMARY:
------------------------------------------------------------
1 tests in 1 groups
1 errors
0 failures
我无法解决此“测试超时”错误,因为教程[至少部分]已过时,社区似乎很小。问题1:是否有人遇到过“测试超时”错误?
我也看到SitePen最近改为新的测试框架,这可以解释我的很多问题: http://www.sitepen.com/blog/2013/05/01/intern-javascript-testing/
答案 0 :(得分:0)
要回答问题的第2部分,我们将其用于生产质量Web应用程序,并且几家大型企业也已在其应用程序测试中使用它。是的,它是新的,但它建立在已有技术的基础之上。
答案 1 :(得分:0)
我花了很多时间寻找这个问题的解决方案。让我分享我发现的事情,尽管这个问题有些陈旧。我无法在其他任何地方找到答案。
显然,这是一个轻微的忽视。在我的情况下,我有这样的事情:
registerTests : function(){
doh.register("dohTest", [
function firstTest() {
doh.assertEqual("test", "test");
}
]);
doh.run();
}
然后在代码中没有任何地方调用registerTests()。 因此,如果您收到此错误,则很可能不会调用您测试的函数。