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

标签 javascript unit-testing mocha.js

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

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

有没有办法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/

相关文章:

javascript - Mocha测试MongoDB : Uncaught TypeError in multiple test

javascript - 计算填充浏览器高度所需的确切高度

javascript - 使用 JavaScript 解码图像

javascript - 如何使用 mocha 测试 ES6 模块(这些模块带有导入)?

node.js - MongoClient.connect不执行回调函数

javascript - 如何为普通 JavaScript 函数编写快照测试?

javascript - 在 Html 应用程序中,使用 javascript,如何获取图像在屏幕上的位置并将其放入文本文档中?

javascript - Laravel Rest api 的 Angular 编辑服务

c# - 在 VS2005 单元测试中是否可以断言已调用方法?

javascript - 为简单函数编写 JEST 单元测试