我刚开始学习使用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
,它会在每次测试之前每次创建一个新实例。但是为什么我总是需要一个新的实例,其中没有一个测试用例不会更改/更新我的实例?
当你的测试开始产生不同的结果时,你会做什么,当运行单挑而不是散装? –