2013-06-19 90 views
2

我正在開發基於TDD的應用程序。如何使用Angular Scenario Runner運行測試套件的子集?

對於服務器端來說,一切都很好,因爲Python測試運行器非常棒。

對於JS,我開始使用摩卡,這也很棒。

我寫了我的第一個測試與Karma和Angular Scenario Runner,它也很棒。

問題是,在現實生活中開始使用Angular Scenario Runner後不久,我結束了60個e2s測試。運行所有測試需要1分鐘。

現在,當我編寫一個新的測試時,每次我想檢查測試,我將不得不等待60秒。

在Mocka有這個選項,運行只。只有http://visionmedia.github.io/mocha/#exclusive-tests


它看起來像角情景亞軍簡要記錄了特定的測試,但不知何故,模仿茉莉花。


查看Angular Scenario Runner代碼我只能找到用於跳過測試的xit定義。

請問Angular Scenario Runner只運行測試的一個子集有竅門嗎?

我已經實現了一個xdescribe空白方法來跳過整個套件...但是這對於長期來說是可行的。

非常感謝!

回答

5

是的,您可以運行測試的子集。

使用iit而不是it關於您想要運行的測試,其他將被跳過。

實施例:

describe('TestCtrl', function() { 

    var $scope; 

    iit('should have scope', function() { 
     expect($scope).toBeDefined(); 
    }); 

    it('should have scope', function() { 
     expect($scope).toBeDefined(); 
    }); 

    it('should have scope', function() { 
     expect($scope).toBeDefined(); 
    }); 

}); 

這將導致僅在第一測試中運行,其他被跳過。

只要茉莉花檢測到iit的測試,它將跳過所有測試it

如果您需要在定義一整套測試時只測試一個或兩個測試,那麼這非常方便。

當您將describe替換爲ddescribe時,這也適用於僅運行ddescribe的塊。

只要您刪除所有iitddescribe調用,所有測試將再次運行。

希望有幫助!

+0

這有助於很多!非常感謝。我在源代碼中看到了iit,但我沒有仔細觀察,思考只是xit的別名......而Jasmine文檔沒有提及任何有關'iit'的內容。 –

+0

不客氣,很高興我能幫忙! – jvandemo

相關問題