我使用的是mocha + sinon.js + chai。 我有很多测试,有很多存根和模拟,所以我的it()函数太长了。 有没有办法在其他文件/配置文件中组织我的存根。 我不能将存根放在before()中,因为每个测试都以不同的方式存根(存根相同的对象但具有不同的行为)。
对我来说有什么好主意吗?tnx:)
答案 0 :(得分:0)
您可以使用babel-plugin-inline-json为响应加载json。
例如
安装configure babel-plugin-inline-json。
//.babelrc:
{
"plugins": [["inline-json", {"matchPattern": "config"}]]
}
在外部文件中定义您的回复,例如:
//res.config.json
{
"foo": "bar"
}
在测试中使用它:
const expect = require('chai').expect;
const sinon = require('sinon');
class SomeObject {
doSomething(){
return null;
}
}
describe('Some tests:', function () {
it.only('With fake response', () => {
const obj = require('./res.config');
const someObject = new SomeObject();
sinon.stub(someObject,'doSomething').returns(obj);
const res = someObject.doSomething();
expect(res).to.haveOwnProperty('foo');
});
});
});
您可以拥有多个 config.json 文件。