gpt4 book ai didi

javascript - 在 Jasmine 中提升内存

转载 作者:行者123 更新时间:2023-12-03 03:22:00 27 4
gpt4 key购买 nike

我在 Jasmine 测试中遇到了问题。

var utils = require('./utils');

describe('test', function() {
it('test 1', function (done) {
var baseMock = utils.fixtures.base;
baseMock.campaigns.name ='test 1';
console.log(baseMock.campaigns.name);
done();
});

it('test 2', function (done) {

var baseMock = utils.fixtures.base;
'it should be the original name, but have the name changed in the first test'
console.log(utils.fixtures.base.campaigns.name);
done();
});

});

我有一个基础数据模拟(utils.fixture.base),在每个测试中都使用它。但是,当我更改此模拟的某些属性时,此更改会反射(reflect)在下一个测试中。

如何获得每个测试的原始模拟,以及原始属性?

pd:我使用的是旧版本的 Node,带有 ecma5。

pd2:对不起我的英语。

谢谢!

最佳答案

由于我们不知道 utils.fixtures.base 包含什么,因此不可能明确地告诉您要做什么,但实际上,您需要一种方法来在每个中创建模拟对象的副本测试,因此您不会直接修改它:

var utils = require('./utils');

function buildBaseMock() {
return makeACopyOf(utils.fixtures.base);
}

describe('test', function() {
it('test 1', function (done) {
var baseMock = buildBaseMock();
baseMock.campaigns.name ='test 1';
console.log(baseMock.campaigns.name);
done();
});

it('test 2', function (done) {
var baseMock = buildBaseMock();
'it should be the original name, but have the name changed in the first test'
console.log(utils.fixtures.base.campaigns.name);
done();
});

});

关于javascript - 在 Jasmine 中提升内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46531105/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com