在使用Jasmine測試我的Meteor應用程序的某些功能之前,我必須爲測試準備不同的東西。因此我使用beforeAll塊。Jasmine - 在系列中的所有塊之前運行
- 重置數據庫
- 在數據庫中創建
- 講座在數據庫中創建一個問題
- 轉到剛創建講座的頁面
- 等待路由器來完成路由
這些異步任務必須串聯運行。我不能先到講座頁面,然後在數據庫中創建它。可悲的是,茉莉花beforeAll
塊不會自動連續運行。
這是我當前的代碼:
beforeAll(function(done) {
Fixtures.clearDB(done);
});
beforeAll(function(done) {
Fixtures.createLecture({}, function(error, result) {
lectureCode = result;
done();
});
});
beforeAll(function(done) {
Fixtures.createQuestion({}, done);
});
beforeAll(function(done) {
Router.go('lecturePage', {lectureCode: lectureCode});
Tracker.afterFlush(done);
});
beforeAll(waitForRouter);
it("....", function() {
...
});
我怎麼可以這樣寫代碼茉莉花在一個漂亮的風格沒有進入回調地獄?
來源整個應用程序的代碼是開源的,可以在GitHub
可以找到非常感謝你提前, 最大
看看異步庫([link](https://github.com/caolan/async)) – xersiee
我試圖讓caolan /異步工作,但我失敗了。你能根據我的代碼給我一個例子嗎? – mxinden