2013-10-29 127 views
1

我最近采用了Dojo Toolkit作为我的第一个JavaScript库,并且正处于需要开始测试的技术债务的门槛。我第一次看到了Dojo对象束(DOH)单元测试框架,并已通过查看实践测试用例Dojo工具包源学到的最:Dojo测试框架:Dojo Objective Harness vs Intern

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

你会编辑包含你的测试模块代码吗? – bishop

+0

测试超时通常是由不正确编写的异步测试引起的,这些测试不正确地解决延迟问题,或者实际上在某些时候失败,但未正确注册失败。正如主教所说,我们真的需要看到测试模块代码对此进行评论。至于实习生,是的,它的使用绝对稳定,在几乎所有方面(和国际海事组织通常都不那么痛苦地编写测试)相比,DOH具有同等或更高的能力。 –

回答

0

为了回答你问题的第二部分,我们用它在生产质量Web应用程序,而且一些大型企业也已经在应用程序测试中使用它。是的,它是新的,但它建立在已有技术的基础之上。

0

我花了很多时间寻找解决这个问题的方法。让我分享一下我发现的事情,尽管这个问题有些老旧。我无法在其他地方找到答案。

显然,这是一个轻微的忽视。在我的情况下,我有这样的事情:

registerTests : function(){ 
     doh.register("dohTest", [ 
      function firstTest() { 
       doh.assertEqual("test", "test"); 
      }  
     ]); 
     doh.run(); 
    } 

然后无处在代码registerTests()被调用。 所以,如果你得到这个错误,最有可能的是你的测试函数没有被调用。