摩卡测试和随后调用'require'模块

时间:2016-08-02 15:39:41

标签: javascript unit-testing mocha browserify typeahead.js

我有一个项目,通过命令行(mocha -- test/test-dir)和Browserify使用Mocha测试运行器。目前单元测试非常简单,我们只需要源javascript(unbrowserified)来运行测试。到目前为止,它运作良好。

//test/test-dir/my-test.js

var foo = require('../../js/src/foo.js');
var assert = require('assert');

describe('foo.getBar', function() {
...

我们最近想要将另一个依赖项添加到foo.jstypeahead.js

//js/src/foo.js

var jQuery = require("jquery");
var typeahead = require("typeahead.js");

...

现在我们的简单测试失败了TypeError: _.mixin is not a function。这个_.mixin在typeahead.js中是defined,但我怀疑Mocha没有评估foo.js中的嵌套需求?

对Mocha或Browserify不太熟悉,我认为将测试转换为使用foo.js的浏览器版本会有所帮助,因为所需的模块将在foo.min.js中构建并可用,尽管我我看到同样的错误。我知道typeahead支持CommonJS包,所以我不确定这些测试有什么问题?任何帮助将非常感谢。谢谢!

1 个答案:

答案 0 :(得分:0)

我添加了mochify来处理我认为与Mocha有关的常见问题。我很想知道为什么这样可行,但现在使用mochify -- test/test-dir/**/*.js测试通过。耶。