Yasemin Spec blokları it()
içine kullanılabilecek bir küresel yöntem fail()
sağlar ve ayrıca özel hata mesajı kullanmasını sağlar:
it('should finish successfully', function (done) {
MyService.getNumber()
.success(function (number) {
expect(number).toBe(2);
done();
})
.fail(function (err) {
fail('Unwanted code branch');
});
});
Bu Yasemin işlevselliği yerleşik ve o kıyasla her yerde çalışıyor Aşağıda bahsettiğim 'hata' yöntemi.
güncelleme Önce: O kod daldan bir hata atabilir
, hemen bir spec başarısız olur ve özel hata mesajı mümkün olacak:
it('should finish successfully', function (done) {
MyService.getNumber()
.success(function (number) {
expect(number).toBe(2);
done();
})
.fail(function (err) {
throw new Error('Unwanted code branch');
});
});
Ama Eğer Promise başarı işleyicisi then()
bir hata atmak istiyorsanız hata orada yutulacaktır ve yukarı gelmeyecek, çünkü, dikkatli olmalıdır. Ayrıca, uygulamanızdaki bu hatayı yakalayabilecek olası hata işleyicilerinden haberdar olmalısınız. Bu nedenle, bir testin başarısız olmasına neden olamayacaktır.
Ayrıca, done.fail ('message') 'vardır. – TrueWill
Yasemin'in eski bir sürümünde sıkışmış olanlar için 'başarısız' yöntemi 1.3'te mevcut değildir, ancak yeni bir hata (mesaj) 'atarak etkili bir şekilde doldurulabilir. Etkililik, test koşucunuza bağlı olabilir - aynı zamanda beklemede ('[başarısızlık sebebi]') .eBeNull() 'gibi bir şey düşünün. – ryanwebjackson