重用mocha测试代码
Reusing mocha test code
我正在开发一个NodeJS应用程序,并使用Mocha进行单元测试。
假设我有两套非常相似的测试服。事实上,这是对两个类的测试实现相同的接口。
例如:
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);
});
});
有没有办法消除代码重复?有办法吃两个吗不同的测试套件,使用相同的断言代码,但配置不同或者类似的东西?
我现在唯一的想法是使用某种源代码生成,但如果可能的话,我想避免这种情况。
将内部函数移动到一个额外的文件并require
它。在您的情况下,您需要额外的new A()
和new B(...)
,所以要么在外部提供它们,要么将它们作为所需结果的参数:
var t = require('innerTestGen');
var t1 = t.create(new A())
describe(t1);
var t2 = t.create(new B(...))
describe(t2);
希望有帮助吗?
相关文章:
- 为函数代码编写测试
- 为什么不是'我的函数在解析云代码中工作吗?当我在Angular和Express中测试时,它是有效的
- 如何使用KARMA对React JSX ES6代码进行单元测试
- 我的CSS/Javascript下拉菜单测试代码出了什么问题
- 编写可测试的JavaScript代码
- 有人能解释一下evaluate()和dragAndDrop()在下面的角度测试代码中调用了什么吗
- 如何在单元测试中使用此JavaScript代码
- 我怎么能用jasmine测试这个代码呢
- 单元测试Angular自举代码
- 如何使用MochaJS测试jQuery代码
- 为es6传输的测试代码
- 如何在ajax请求和it上测试并获得完整的代码覆盖率's使用Jasmine和Blanket.js对jQuery
- 基准测试引发错误的异步与同步代码
- 在C#中,我如何对客户端用户交互和javascript(jQuery)代码进行单元测试
- Javascript代码集成测试
- 在单元测试中实现逻辑,以缩短语法并提高测试代码的可重用性
- 动态更改测试中代码覆盖率的require语句的更好方法
- 为什么这些代码在我的测试服务器上有效,而在jsfiddle上无效
- Amazon Cloud (AWS) 中的代码-测试-代码周期
- 代码可以在代码测试器中工作,但不能在地址栏中工作