我正在使用 Mocha 对我的 MERN 堆栈应用程序进行一些测试,并有一个名为 dummyData.js
的文件。
在我的 mocha 测试中,我从这个文件中提取模型。例如,
const data = require('./dummyData.js');
let user = data.users.validUsers[0];
在一些测试中,我内联编辑用户。例如,
user.name = 'new user name';
然后在发生编辑的前一个测试范围之外的后续测试中,我拉取了同一个用户。
let user = data.users.validUsers[0];
然而,user.name
不再是 dummyData.js
中的名称,而是现在更改为 'new user name'
。
根据我的理解,user
变量只是对我的 0
文件中数组索引 dummyData.js
的引用。我的问题是,我怎样才能创建一个全新的变量,它不是引用但有自己的内存,并且对它的更改不会影响我代码的其他部分。
以下是测试的方式
describe()
before()
describe()
beforeEach()
it(){
let user = data.users.validUsers[0];
user.name = 'a change'
}
it(){
let user = data.users.validUsers[0];
// user.name is 'a change' here, not what is in dummy data
}