我知道,Browserify并不是一个真正的DI框架,但是有可能在单元测试期间注入"或以某种方式伪造注入,模拟数据到应用程序中吗?
例如,要测试函数:
var MyModel = require('./models/My.js');
function doSomething() {
// do something with model.
}
使用模拟My.js,例如
describe('Do Something', function() {
beforeEach(function() {
// replace './models/My.js' with a Mock implementation.
});
it('with model', function() {
// ... test
});
})
beforeEach
函数中的内容是什么?
答案 0 :(得分:7)
在browserify中有一些用于模拟require
调用的工具。
我还没有亲自使用这些。此外,嘲弄并没有用Browserify编写,因此嘲弄甚至可能都不起作用。其他的是为Browserify编写的,所以他们应该付出很少的努力。 :)尽管如此,Proxyquireify和Rewireify似乎是去年唯一活跃的2个。