Итак, у меня есть эти 2 случая в моих тестах.Первый работает нормально, во втором я пытаюсь извлечь объявление beforeEach извне, и оно терпит неудачу, но я не понимаю почему.Это простой случай, в основном я пытаюсь определить массив и создать цикл для него, чтобы запустить несколько тестов с различным объявлением параметров beforeEach.
CASE 1
var params;
describe('When initializing', function () {
beforeEach(function () {
params = {
name: 'test 1'
};
});
it('should ..', function () {
params.name = 'test 2';
expect(...); => success
});
it('should ..', function () {
expect(...); => success because it expects params.name to be 'test 1' and it is 'test 1'
});
});
Случай 2
var params;
var test = {
name: 'test 1'
};
describe('When initializing', function () {
beforeEach(function () {
params = test;
});
it('should ..', function () {
params.name = 'test 2';
expect(...); => success
});
it('should ..', function () {
expect(...); => fails because it expects params.name to be 'test 1' and it is 'test 2'
});
});
Во втором тесте, если я console.log(test.name)
внутри описания, я получу test 2
, каким-то образом он был переопределен, даже если предыдущий it
имел params.name = 'test 2';
, а не test.name = 'test 2';