2017-08-15 48 views
1

我想在一個文件夾結構,這樣的測試一些類(每個模塊一個)具有相關性(無ciruclar):JS:惡業,數據丟失

/src 
    /chessmen 
    Kings.js (extends ../core/Chessman) 
    Pawn.js (extends ../core/Chessman) 
    ... 
    /core 
    Board.js (imports Refs) 
    Chessman.js (imports Ray) 
    Ray.js 
    Refs.js 
    Sides.js (imports WindRoses.js) 
    WindRoses 
    /engine 
    RayCaster.js 

/test 
    /chessmen 
    ... 
    /core 
    ... 
    /engine 
    RayCaster.js (import src/core/ Refs, sides, King, Queen, board) 

麻煩帶有因果報應+茉莉花測試時+ babel預處理器

如果第一個測試用例導入並使用,稱爲Sides.js或King.js,似乎「吃」或使用數據,則不可能在另一箇中使用導入的模塊測試案例

例如,測試/引擎/ RayCaster導入一個Queen模塊,但是我替代功能女王(的牛逼日誌與對象{}(空)){...}

質詢

發生了什麼事?

是否有可能重新進口(或取消他們)測試用例

由於因緣導入文件按字母順序之間,也有可能有一種測試/ index.js的這做所有進口和呼叫測試中依賴模塊順序?

編輯:無論你使用導入的測試用例模塊的象徵,它似乎沒有其他測試

更多的可用

EDIT(2)問題:給定一組模塊繪製依賴關係樹,如何繼續逐步測試這棵樹,從葉子到根?

+1

你能否提供'女王'樣本和該班的考試? –

+0

我只是推碼!回購是:https://github.com/hefeust/colorchess-v2 – Hefeust

回答

0

看着你的模塊加載器,我建議使用像karma-rollup-preprocessor這樣的karma插件在運行測試之前綁定你的模塊。這將捆綁並正確連接模塊進行測試。

而且您不需要指定文件陣列下的所有文件。

files: [ 
    'test/**/*.js' 
],