1

我最近采用了 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/

4

2 回答 2

0

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

于 2013-11-27T00:38:22.917 回答
0

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

显然,这是一个小小的疏忽。就我而言,我有这样的事情:

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

然后在代码中没有任何地方 registerTests() 被调用。因此,如果您收到此错误,很可能是您进行测试的函数没有被调用。

于 2014-11-18T22:39:51.133 回答