我之前曾使用Jasmine和Karma对我的Knockout应用程序和组件进行单元测试。由于我不需要这些测试来测试任何DOM,我正在开始使用Mocha。
我正在测试这样的Knockout组件(非常简化):
MyComponent.js:
function MyComponent(params) {
this.forename = params.forename;
this.surname = params.surname;
}
exports.MyComponent = MyComponent
ko.components.register('my-component', {
viewModel: MyComponent,
template: {
fromUrl: 'my-component.html'
}
});
MyComponent.test.js:
var expect = require("expect.js");
var MyComponent = require("./src/components/my-component/my-component");
describe("Should do stuff", function () {
it("should do stuff, function () {
var myComponent = new MyComponent({});
expect(myComponent.forename).to.be(undefined);
});
});
当我运行它(使用gulp-mocha)时,我收到错误消息ko is not defined
。现在我很确定我需要在MyComponent.js中进行淘汰,但我不确定如何。我试过了:
var ko = require("ko");
... require("knockout");
... require("knockout.js");
...require("path/to/knockout/knockout");
我仍然收到此错误消息。我在这里做错了什么?