gpt4 book ai didi

javascript - mocha,如何处理测试用例重复代码?

转载 作者:行者123 更新时间:2023-11-28 05:05:31 26 4
gpt4 key购买 nike

如您所见,我的测试用例有重复的部分。

我该如何处理这个问题?只写一个常用的函数来复用?

有没有办法mocha来处理这个?

 it('test case 1', function() {
var target = {
a: 1,
b: 1
};
var source = {
c: 1
};
expect(deepMerge(target, source)).to.deep.equal({a: 1, b: 1, c: 1});

//dulplicate
expect(target).to.eql(target);
expect(source).to.eql(source);
});

it('test case 2', function() {
var target = {
a: 1,
b: 1
};
var source = {
a: 2,
c: 1
};

expect(deepMerge(target, source)).to.deep.equal({a: 2, b: 1, c: 1});
//dulplicate
expect(target).to.eql(target);
expect(source).to.eql(source);
});
//more test cases also have the duplicate part.

最佳答案

您可以将所有重复的期望情况放入某个函数中,并在每个 it block 中调用该函数;

function duplicateTests(target, source) {
expect(target).to.eql(target);
expect(source).to.eql(source);
};

it('test case 1', function() {
var target = {
a: 1,
b: 1
};
var source = {
c: 1
};
expect(deepMerge(target, source)).to.deep.equal({a: 1, b: 1, c: 1});

duplicateTests(target, source);
});

it('test case 2', function() {
var target = {
a: 1,
b: 1
};
var source = {
a: 2,
c: 1
};

expect(deepMerge(target, source)).to.deep.equal({a: 2, b: 1, c: 1});
duplicateTests(target, source);
});
//more test cases also have the duplicate part.

关于javascript - mocha,如何处理测试用例重复代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41787001/

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