2013-07-25 38 views
3

我真的堅持與監護人報紙,https://github.com/guardian/sbt-jasmine-plugin製作的播放框架和茉莉花插件。茉莉花,需要和玩框架

我已經得到了茉莉花與運行測試運行,但我得到的問題,因爲需求。

案例:

  1. 嘗試加載我的應用程序或其它模塊我想在test.dependencies.js測試。 這會導致錯誤MISMATCHED ANONYMOUS DEFINE() MODULES。我所有的js文件都被包裝在define中。這意味着它全部崩潰,測試永遠不會運行。

  2. 試着圍繞描述調用定義來調用我的模塊我想在當前specc中測試。 這導致錯誤是:InternalError: Couldn't read source file "./test.js: ./test.js (No such file or directory)". (rjs/r-2.0.1.js#2114).它真的很難看到它想從哪裏加載。但是它的r-2.0.1.js會產生這個錯誤。

  3. 我試圖調用require()對我想測試的curent js文件,文件現在稱爲測試。 這導致錯誤是:Error: Module name "test" has not been loaded yet for context: _. 不知道我該怎麼做。

  4. 我試圖調用當前js文件的require,但在絕對路徑,我想測試。 這導致它工作。但只有當我在函數變量中寫入某些東西時纔有效。這可以是任何事情。如果我在define(function(variable){...})函數調用中刪除了該變量,則會導致錯誤:Error: Module name "test" has not been loaded yet for context: _.

  5. 試圖只需要測試,文件名是test.js. 產生錯誤的結果是:InternalError: Couldn't read source file "./test.js: ./test.js (No such file or directory)". (rjs/r-2.0.1.js#2114) 當隨機變量有或沒有時,這裏同樣奇怪的事情。

  6. 試圖要求一個變量的絕對路徑,所以我只需要把它放在一個地方。 這會導致錯誤:模塊名稱「path ..../test.js」尚未加載上下文:_ 這意味着絕對路徑在那裏,但由於某種原因,我得到未加載。我甚至可以在試圖要求之前控制檯記錄變量,並且它是正確的。

奇怪的事情無法通過在define中定義一個空列表來解決。但只有在函數中有一個變量。除非我在define數組中定義了一些東西。

希望有人對此有所瞭解。我真的迷失了。

回答

0

監護人已棄用。新的回購是在https://github.com/joescii/sbt-jasmine-plugin

你試過那個嗎?


編輯:

我還建立了自己的用於此目的的插件:https://github.com/tanin47/sbt-web-test-js

從SBT,茉莉花插件的區別是:

  1. 測試人員可以in Coffeescripts
  2. 它使用PhantomJS來執行測試HTML文件。 sbt-jasmine-plugin使用env-js + Rhino,在我看來,它不夠健壯。
+0

謝謝你的回答,但現在我不在項目中。 – vonGohren