我剛開始學習使用Jasmine進行單元測試。我已經瀏覽了茉莉花的official documentation,並在整個計算器上搜索了很多。請參閱下面的代碼。我什麼時候需要在Jasmine的beforeEach塊中使用?
describe('calculator', function() {
var calculator;
beforeEach(function(){
calculator = new myApp.Calculator();
});
describe('sum', function() {
it('1 + 1 should equal 2', function() {
expect(calculator.add(1, 1)).toBe(2);
});
});
describe('subtract', function() {
it('3 - 2 should equal 1', function() {
expect(calculator.subtract(3, 2)).toBe(1);
});
});
});
這裏,我已經初始化/在beforeEach
塊創建計算器的實例。如果我將它直接寫入第一個describe
塊而不使用beforeEach
塊,它也可以正常工作。
我瞭解beforeEach
和afterEach
的用戶。但在這種情況下(或任何此類情況),我真的需要使用beforeEach
哪裏沒有人更新Calculator
實例,在每個規範中我們只使用calculator
的方法?如果我使用beforeEach
,它會在每次測試之前每次創建一個新實例。但是爲什麼我總是需要一個新的實例,其中沒有一個測試用例不會更改/更新我的實例?
當你的測試開始產生不同的結果時,你會做什麼,當運行單挑而不是散裝? –