一个 mocha 测试中的数据受先前测试变化的影响

时间:2021-08-01 16:54:36

标签: javascript node.js mocha.js chai

我正在使用 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
        }

0 个答案:

没有答案