2010-02-02 39 views
4

doh是dojo單元測試框架。 我試圖用doh來測試一個非道場的JavaScript代碼,但我面臨的問題是doh似乎侵入,並迫使我在測試的js文件(和相應的dojo.require())中使用dojo.provide()在測試js文件中)。 我想要測試的js文件是未經修改的和dojo不可知的。 這可能嗎?如何用doh測試非dojo javascript代碼?

回答

2

我已經找到了解決辦法。

  • 簡單/ MyModule.js
  • 簡單/測試/ MyModuleTest.js

在測試文件,只需使用:

dojo.provide("simple.tests.MyModuleTest"); 

dojo.require("doh.runner"); 

dojo.require("simple.MyModule",true); 

的js文件被發現其名稱沒有dojo.provide()模塊檢查

http://api.dojotoolkit.org/jsdoc/1.2/dojo.require

+0

這似乎包括該文件,但將其註冊爲「不是模塊」。任何嘗試調用文件中的函數都會導致「函數未定義」。你是怎麼稱呼你想測試的javascript功能的? – 2012-06-05 01:40:51

0

我認爲DOH對Dojo加載器(僅)具有依賴性。你是否嘗試過定義通常在dojo.provide中的對象?你可能會逃避這一點。而不是做

dojo.provide("mytests.mymodule") 

的嘗試

mytests.mymodule={};