0

我有一个基于 gulp 的项目,并使用browserifydebowerify构建应用程序。应用程序

  1. 取决于 Backbone - 作为凉亭组件安装。
  2. 有一些额外的域类requires backbone

1我在 asvendor.js2above 上构建app.js,并将这两个文件都包含在 html 文件中,运行良好

现在我要使用磁带设置测试,我开始测试这个model类:

var todoModel = require('../../libs/todo/model/todo.js').Todo;
var test = require('tape');
var aTodo = new todoModel();

test('todo model test',function(t){
  eyes.inspect(atodo, "one");
  t.equal(1,one.valueOf(),'one should be equal to one');
  t.end();
});

库/todo/model/todo.js:

  var Backbone = require('backbone');
  var Storage = require('../helpers/storage.js');
  var Todo = Backbone.Model.extend({
      ...
  })

当我运行这个测试时tape test/model-test.js,我收到一个(预期的)错误 Error: Cannot find module 'backbone'。所以现在,我如何让backbone我的 node.js 测试脚本可以使用凉亭候选者

注意:一个简单的解决方法是添加backbone作为节点依赖项,但是如果假设库仅在 bower 中可用怎么办?

4

1 回答 1

0

你不能试试

require('./your/path/to/backbonejs/probably/bower_components/etc');

?

无论如何,我认为这与如何设置您的测试环境更相关,不确定您是使用 jasmine 还是其他人,但是对于 jasmine,我必须添加一个 angularMock 文件才能测试 angular。

我不明白为什么你需要后端的主干,如果它打算在前端使用,除非你提到的用于测试目的,那么这个问题应该更多地与如何设置测试有关,而不是需要主干

于 2014-08-26T18:40:49.433 回答