Testing 余烬中的测试失败

Testing 余烬中的测试失败,testing,ember.js,ember-cli-mirage,Testing,Ember.js,Ember Cli Mirage,我在想如何通过余烬的考试时遇到了一些问题 问题是,我试图在我的项目中使用,但我无法通过测试 我正在为它创建一个混合,除了测试之外,一切都很好 这就是我创建的混合: import Ember from 'ember'; NProgress.configure({ showSpinner: true }); export default Ember.Mixin.create({ actions: { loading() { if(!Ember.$('.nprogress

我在想如何通过余烬的考试时遇到了一些问题

问题是,我试图在我的项目中使用,但我无法通过测试

我正在为它创建一个混合,除了测试之外,一切都很好

这就是我创建的混合:

import Ember from 'ember';
NProgress.configure({ showSpinner: true });

export default Ember.Mixin.create({  
  actions: {
    loading() {
      if(!Ember.$('.nprogress-busy').length) {
            if(Ember.$('#content').length) {
              Ember.$('#content').removeClass('fadeIn');
              Ember.$('#content').addClass('animated fadeOut');
            }
            if(Ember.$('#page-content-wrapper').length) {
              Ember.$('#page-content-wrapper').removeClass('fadeIn');
              Ember.$('#page-content-wrapper').addClass('animated fadeOut');
            } 
          NProgress.start();
        }   
      this.router.one('didTransition', function () {
          window.scrollTo(0, 0);
          setTimeout(function(){
            if(Ember.$('#content').length) {
              Ember.$('#content').removeClass('fadeOut');
              Ember.$('#content').addClass('animated fadeIn');
            }
            if(Ember.$('#page-content-wrapper').length) {
              Ember.$('#page-content-wrapper').removeClass('fadeOut');
              Ember.$('#page-content-wrapper').addClass('animated fadeIn');
            }
          }, 1000);
          NProgress.done();
            return true;
      });
    }, 
      error() {
        NProgress.done();
        return true;
      }
  }
});
这就是失败的原因:

not ok 80 PhantomJS 2.0 - JSHint - mixins: mixins/loading-indicator.js should pass jshint
---
    actual: >
        false
    expected: >
        true
    message: >
        mixins/loading-indicator.js should pass jshint.
        mixins/loading-indicator.js: line 2, col 1, 'NProgress' is not defined.
        mixins/loading-indicator.js: line 16, col 11, 'NProgress' is not defined.
        mixins/loading-indicator.js: line 30, col 11, 'NProgress' is not defined.
        mixins/loading-indicator.js: line 35, col 9, 'NProgress' is not defined.

        4 errors
    Log: |
...
正如您所看到的,我可以在应用程序上使用NProgress而不会出现任何问题,但是我不会在测试失败的任何地方声明NProgress

有人知道我如何通过考试吗

我知道ember中也有类似的组件,但我选择使用NProgress,因为我可以设置何时开始,何时结束。我不想在需要设置动画时间的地方使用进度条


提前谢谢

有两种方法可以使此JSHint检查通过:

  • n前进
    添加到
  • 添加到使用该变量的任何文件的顶部

我已链接到相应的Ember CLI和JSHint文档以获取更多信息。

感谢@locks的提示,不幸的是,我已转移到另一个解决方案,但下次发生类似情况时我会记住它!