2014-02-26 50 views
19

我有一個茉莉花2.0測試,如果一個函數被調用,測試失敗。如何將茉莉花測試標記爲失敗?

我有一個函數「Remote.get」應該調用第一個參數(這是一個回調),如果它成功,或第二個參數,如果它失敗。

如果它調用第二個參數,我需要將測試標記爲失敗。

我該如何清楚地標記測試失敗?

describe("my tests", function() { 
    it("should call the first function", function(done) {   
    Remote.get(
     function() { 
     // yeah! good! 
     done(); 
     }, 
     function() { 

     // whoa, if we got here, then it didn't work 
     // fail()! 

     done(); 
     } 
    );    
    }); 
}); 

我知道我可以做類似expect(true).toBe(false)但我你那麼會變得模糊和不相關的實際問題的錯誤。它應該給出錯誤,如「錯誤的回調被稱爲」或「Remote.get失敗被稱爲」。我希望茉莉花有更多描述性的東西。

我真正想要的是python相當於http://docs.python.org/2/library/unittest.html#unittest.TestCase.fail

+0

您可能已經過於簡化;我不清楚你實際測試的是什麼。 – Mathletics

+0

謝謝,我希望現在更清楚。 – leech

+0

可能重複[如何使用茉莉花來測試需要很長時間來響應的異步函數?](http://stackoverflow.com/questions/14315568/how-to-use-jasmine-to-test-an- async-function-that-take-a-long-time-to-respond) – Mathletics

回答

8

你可以編寫和註冊在返回值的​​其compare功能總是失敗,並分配您的自定義消息給message財產

+1

我認爲這是在茉莉花中獲得「失敗」功能的最接近方式。 – leech

18

他們this commit最近增加了一個fail()方法。它可能會在茉莉花的下一個版本發佈時發佈(假設2.1,這個時候不清楚),或者你可以從邊緣創建自己的版本。