对于下面的代码,我想在someMethod中测试if/else,但我不能访问所需的组件。用Browserify测试这个东西有什么窍门吗?我可以在proto上设置baz: Foo.bar(),但之后我必须对每个需要覆盖的组件执行此操作。
var Foo = require('../foo/index.js');
var someClass = new SomeClass({
someMethod: function () {
var baz = Foo.bar();
if (baz == 'hello') {
return 1
}
else {
return 0
}
}
});发布于 2014-09-07 03:28:22
您应该查看rewireify或proxyquireify。它们将允许您在测试中操作"var Foo = require“语句。但是,是的,您必须为您想要模拟的每个require语句执行此操作。你可能还想看看Facebook的Jest,它会自动为你模仿所有你需要的语句。
https://stackoverflow.com/questions/25512971
复制相似问题