2016-04-06 22 views
0

Yasemin'de, bir özel durum atlamak için beklenen işlev hatası veren basit bir test durumu oluşturdum. zaten yaptım.Jasmine javaScript özel durumu

özellik dosyası

describe("Arithmetic Operation",function(){ 
    it("adds 2 numbers i.e. 5,5",function(){ 
     expect(doAddition(5,5)).toEqual(10); 
    }); 

    it("throws an error while adding", function() { 
     expect(function() {doAddition(1,2)}).toThrow(new Error("Not allowed.")); 
    }); 
}); 

i istisna kodunu kaldırın eğer iyi çalışıyor

function doAddition(a,b){ 
    return parseInt(a) + parseInt(b); 
} 

src dosyası. Bu konuda yanlış olan herhangi bir öneri veya fikir?

+0

Hangi Yasemin sürümünü kullanıyorsunuz? Jasmine'in daha yeni versiyonlarında 'toThrow' argüman almaz. Bunun yerine ['toThrowError'] (http://jasmine.github.io/2.0/introduction.html#section-Included_Matchers) kullanın. –

+0

Bu jasmine-1.3.1. Diğer istisnalar ** toThrow ** ile iyi çalışıyor. – Hearty

+0

Bu durumda 'doAddition (1,2)' basitçe atmıyor ... Testiniz hatalı. –

cevap

2

doAddition(1,2) 'un atılmasını bekliyorsunuz, öyle değil. Bu nedenle test başarısız olur.

+0

** 5,5 ** olması durumunda aynı hatayı atıyor ve jasmine ** new jasmine.ExpectationResult ** istisnasından, özel hata mesajından değil. – Hearty

+1

'parseInt (5) + parseInt (5)' ** ** atar. '10' döndürür ... İlk testiniz bunu doğrular. –