在sinon js单元测试中.then之后无法测试线

时间:2016-09-08 06:10:18

标签: angularjs unit-testing ecmascript-6 sinon sinon-chai

我是<h:commandLink action="#{myClass.downloadFile}" alt="Download File"> <div class='proceed' title="Download"></div> </h:commandLink> sinon.jsmocha的新生儿。 我试图通过使用上面的库来编写单元测试。 项目前端位于chaiAngularJS

组合

ECMASCRIPT6的文档中我什么都不懂!这太复杂了。

这是我的JS片段:

Sinonjs

这是我的UNIT-TEST片段:

login() {
    let loginData = this.loginData;
    return this.authService.login(loginData).then(userData => {
      let msg = `${this.niceToSeeYouAgain} ${userData.email}!`;
      this.userAlertsService.showSuccessToast(msg);
      this.navigationService.afterLoggedIn();
    }, errorInfo => {
      this.userAlertsService.showAlertToast(errorInfo);
    });
}

但不幸的是我被困住了。 我的代码不会在it('.login() - should load user data and showSuccessToast and call navigationService afterLoggedIn', sinon.test(() => { let msg = `Nice to see you again ${userData.email}!`; let loginData ={ email: "sarfaraz@walkover.in", password: "designer99", remember: true } let stub = sinon.stub(authService, 'login').resolves(userData); // let spy1 = sinon.spy(controller.userAlertsService, 'showSuccessToast'); //call function controller.login(); $timeout.flush(); // expect things expect(stub.called).to.eq(true); // restore stub.restore(); })); 行之后运行。

我期待它应该抛出错误。因为我没有窥探.thenuserAlertsService

请让我知道出错了什么

0 个答案:

没有答案