我有一个项目,通过命令行(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.js
,typeahead.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包,所以我不确定这些测试有什么问题?任何帮助将非常感谢。谢谢!
答案 0 :(得分:0)
我添加了mochify来处理我认为与Mocha有关的常见问题。我很想知道为什么这样可行,但现在使用mochify -- test/test-dir/**/*.js
测试通过。耶。