2012-07-23 56 views
2

我想使用Nodeunit來測試我的骨幹模型,後來我想測試其他組件。我使用Nodeunit的主要原因是因爲我的服務器測試已經在使用它了,我想堅持一個測試框架。Nodeunit - Backbone - Require.js:Unitesting

這是個好主意嗎?我做了設立一個單元測試的一個feable嘗試,但是當我嘗試要求下劃線和骨幹庫失敗:

Error: Cannot find module 'underscore' 

是否有可能在所有使用nodeunit此,如果沒有會怎樣推薦的單元測試框架用於測試Backbone應用程序?

回答

0

您可能不會在您的NodeUnit測試運行器html中包含您的RequireJS配置。或者,如果您是,也許NodeUnit不以相同的方式提供動態內容。我以前沒有用過它,但是我遇到了與Jasmine類似的問題。

隨着jasmine辦法,我不得不做這樣的事情:

# coffeescript # 
TEST_ENV = (typeof window['jasmine'] == 'object') 
prefix = if TEST_ENV then '/public' else '' 
baseUrl = prefix + '/javascripts' 

在茉莉花寶石世界(軌道內),在/公用文件夾供應出實際/大衆路線的。 (正常的rails服務假設/ public文件夾實際上是根路由。)因此,這一小段代碼檢查測試上下文並將/ public前綴添加到baseUrl。然後,在我的requireJS配置中,我分配了這個baseUrl。

這可能與您在NodeUnit中遇到的問題相同。

有關我如何設置以及特殊RequireJS + Jasmine集成的更多信息,請參閱my blog post