2011-12-20 52 views
1

我試圖讓茉莉花(茉莉無頭的webkit)獲得茉莉花規格,CoffeeScript的和骨幹的共同努力。寫成的CoffeeScript運行

我很接近 - 我的網站運行在coffeescript和backbone上,我可以運行coffeescript書面測試 - 但我的問題是,我無法讓我的coffeescript測試做任何有趣的事情。

如果我試圖創建一個測試模型的實例,我會得到一個錯誤:

ReferenceError: Can't find variable: xxxx

僅供參考 - 我使用這與護茉莉花無頭WebKit的.. 。

我一直在工作與Jasmine.yml文件 - 但還是不能讓這些測試工作。有人有建議嗎?

+0

可能的重複[在CoffeeScript中定義的類未在Jasmine規範中找到](http://stackoverflow.com/questions/8310329/classes-defined-in-coffeescript-not-found-by-jasmine-specs) – 2011-12-20 19:10:44

+1

原因是1)文件包裝(你需要通過編寫'window.xxx = xxx'來使'xxx'成爲全局的)或者2)腳本加載的順序(在測試運行之前,您需要確保'xxx'已被分配*)。 – 2011-12-20 19:11:54

+0

如果我使用jasmine-headless-webkit,我仍然可以使用window.xxx嗎? – 2011-12-21 01:33:30

回答

2

特雷弗是正確的 - 問題是在哪些腳本加載(在我jasmine.yml)的順序

我清盤清理出來的大部分......

helpers: 
    - helpers/**/*.js 

src_dir: 
    - app/assets/javascripts 
    - vendor/assets/javascripts 

src_files: 
    - "**/*.*" 

spec_dir: spec/javascripts 

spec_files: 
    - "**/*[Ss]pec.*" 

stylesheets: 
    - stylesheets/**/*.css 
+0

丹尼爾,你是如何最終配置你的jasmine.yml文件的?我似乎無法讓我們的CI在下劃線/主幹之前加載jquery,也沒有先加載application.js。 – 2012-03-06 23:38:59

+0

另外,src_dir最好是app/assets/javascripts的完整路徑,我改成app/assets比鏈接無法在require中找到腳本文件。 – Jimchao 2012-04-03 23:21:43

0

友好更新:如果您使用Rails資產管道進行coffeescript編譯,Jasmine gem最近發佈的版本通過rails資產管道增加了對coffeescript的支持。巨大的進步。它的1.2.0版本(不是發佈候選版本,官方版本1.2.0) https://github.com/pivotal/jasmine-gem