2017-03-16 62 views
0

剛開始使用茉莉花。我知道你把javascripts文件夾中的規格文件(如Rspec)的命名約定爲<file_name_to_be_tested>_spec.js茉莉花 - 什麼將源文件連接到spec文件?

太棒了!

所以我spec/javascripts/orders_new_spec.js

我發現我可以用上面的測試下面任一文件:

app/assets/javascripts/orders/new.js 
app/assets/javascripts/orders_new.js 

但對於像我這樣誰也有一個有點複雜的文件目錄...我需要一種方法來區分這兩個......眼下當然jasmine.yml看起來是這樣的:

src_files: 
    - assets/orders/new.js 
    - assets/orders_new.js 

但因爲是爲O NE yml文件適用於所有規格,但不能作爲區分對象。

有沒有什麼辦法可以在spec文件中做到這一點呢?例如,

# /spec/javascripts/orders/new_spec.js 
require 'assets/orders/new.js` # and ignore jasmine.yml 
describe... 

# /spec/javascripts/orders_new_spec.js 
require 'assets/orders_new.js` # and ignore jasmine.yml 
describe... 

回答

0

正式答案是否定的。當然,有些方法可以繞開它。來自Jasmine Github的mods:

Jasmine(特別是在瀏覽器中)沒有任何關係,哪​​個spec文件測試哪個實現文件。如果您的文件子集不能與其他文件子集一起加載到同一頁面中,那麼在運行測試時,您可能需要使用多個jasmine.yml文件並使用JASMINE_CONFIG_PATH環境變量來選擇正確的文件。這意味着您需要運行兩個(或更多)jasmine:ci任務才能運行所有規格。

另一個選擇是重構/重做你的實現,以便所有的文件可以同時加載到瀏覽器中,只是實例化規範中的底層對象。