我使用默认的Aurelia sceleton-esnext更新到上一版本。 我将此行添加到App( Example from doc. Customizing the Navigation Pipeline)
config.addPipelineStep('authorize', AuthorizeStep);
在此之后我发现错误正在运行' gulp test'
Chrome 52.0.2743 (Linux 0.0.0) the App module contains a router property FAILED
TypeError: config.addPipelineStep is not a function
测试
it('contains a router property', () => {
expect(sut.router).toBeDefined();
});
测试进展顺利。
答案 0 :(得分:0)
我刚刚遇到过这个问题。要修复,您只需要在您的RouterStub中添加一个空方法:
class RouterStub {
configure(handler) {
handler(this);
}
map(routes) {
this.routes = routes;
}
addPipelineStep(stepName, stepClass) {
}
}
然后在你的测试中:
describe('the App module', () => {
var app;
var mockedRouter;
beforeEach(() => {
mockedRouter = new RouterStub();
app = new App();
app.configureRouter(mockedRouter, mockedRouter);
});
it('contains a router property', () => {
expect(app.router).toBeDefined();
});
});
如果您正在尝试测试管道步骤,则需要模拟路由器本身并测试实际逻辑,但如果您只是希望运行测试(即定义,检查路由器标题等),会工作的。