2013-10-29 76 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()被調用。 所以,如果你得到這個錯誤,最有可能的是你的測試函數沒有被調用。