【问题标题】:Unit testing with Jasmine and Browserify and stubbing out require()s使用 Jasmine 和 Browserify 进行单元测试并剔除 require()s
【发布时间】:2014-08-26 18:41:42
【问题描述】:

对于下面的代码,我想测试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
    }
  }
});

【问题讨论】:

    标签: javascript unit-testing mocking browserify


    【解决方案1】:

    您应该查看 rewireify 或 proxyquireify。它们将允许您在测试中操纵“var Foo = require”语句。但是,是的,您必须为要模拟的每个 require 语句执行此操作。您可能还想查看 Facebook 的 Jest,它会自动为您模拟所有 require 语句。

    【讨论】:

      猜你喜欢
      • 2012-06-11
      • 2016-04-24
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多