gpt4 book ai didi

javascript - 复用 mocha 测试代码

转载 作者:搜寻专家 更新时间:2023-10-31 23:54:38 25 4
gpt4 key购买 nike

我正在开发一个 NodeJS 应用程序并使用 Mocha 进行单元测试。

假设我有两个非常相似的测试服。事实上,这些是针对两个类的测试实现相同的接口(interface)。

例如:

suit_a.js

var A = require('./a');
describe(function () {
var instance;
beforeEach(function () {
instance = new A();
});
it(function () {
assert(instance.getSomeValue() === 1);
});
});

suit_b.js

var B = require('./b');
describe(function () {
var instance;
beforeEach(function () {
instance = new B({option: "option-value"});
});
it(function () {
assert(instance.getSomeValue() === 1);
});
});

有没有办法去除代码重复?有没有办法有两个不同的测试套件,使用相同的断言代码,但具有不同的配置还是类似的东西?

我现在唯一的想法是使用某种源代码生成,但我想尽可能避免这种情况。

最佳答案

将内部函数移动到一个额外的文件并要求它。在您的情况下,您需要额外的 new A()new B(...) ,因此要么让它们在外部可用,要么将它们作为参数包含在 require-result 中:

var t = require('innerTestGen');

var t1 = t.create(new A())
describe(t1);
var t2 = t.create(new B(...))
describe(t2);

希望对您有所帮助?

关于javascript - 复用 mocha 测试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25809930/

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