对于以下代码,我想测试someMethod
中的if / else,但我无法访问该需要的组件。使用Browserify测试这些东西有什么技巧吗?我可以在原型上设置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
}
}
});
答案 0 :(得分:0)
您应该查看rewireify或proxyquireify。它们将允许您在测试中操作“var Foo = require”语句。但是,是的,您必须为要模拟的每个require语句执行此操作。您也可以查看Facebook的Jest,自动嘲笑您的所有需求声明。