0

기본 Aurelia의 sceleton-esnext을 최신 버전으로 업데이트했습니다. 은 내가 오류 '꿀꺽 테스트'를 실행Aurelia. 테스트. TypeError : config.addPipelineStep이 함수가 아닙니다.

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(); 
    }); 

테스트 라인없이 잘되어 가고 잡을 앱이 라인 ( Example from doc. Customizing the Navigation Pipeline)이 후

config.addPipelineStep('authorize', AuthorizeStep); 

을 추가했다.

답변

0

방금이 문제를 발견했습니다. 테스트에서 다음

class RouterStub { 
    configure(handler) { 
     handler(this); 
    } 

    map(routes) { 
     this.routes = routes; 
    } 

    addPipelineStep(stepName, stepClass) { 
    } 
} 

: 해결하려면, 당신은 당신의 RouterStub에 비어있는 방법을 추가 할 필요가

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(); 
    }); 
}); 

당신이 조롱하는 데 필요한 파이프 라인 단계를 테스트하려는 경우 라우터 자체 및 실제 논리를 테스트하지만 테스트를 실행 (예 : 라우터 제목 등을 정의)하면 작동합니다.