Внедрение mocks в Browserify для тестирования

Я знаю, что Browserify на самом деле не является базой DI, но возможно ли "вводить" или каким-то образом подделывать инъекции, имитировать данные в приложении во время модульного тестирования?

Например, чтобы проверить функцию:

var MyModel = require('./models/My.js');

function doSomething() {
  // do something with model.
}

с mock My.js, например

describe('Do Something', function() {

  beforeEach(function() {
    // replace './models/My.js' with a Mock implementation.
  });

  it('with model', function() {
    // ... test
  });
})

что входит в функцию beforeEach?

Ответ 1

Есть несколько инструментов для издевательств require вызовов в браузере.

Я лично не использовал их. Кроме того, издевательство не было написано с помощью Browserify, так что издевательство может даже не работать. Другие были написаны для Browserify, хотя они должны работать с минимальными усилиями.:) Proxyquireify и Rewireify, по-видимому, являются только 2 активными в течение прошлого года.