1
我遇到了一些问题,弄清楚如何在Ember中通过测试。测试在余烬中失败
事情是,我试图在我的项目中使用NProgress,但我无法通过我的测试。
我正在关注this example为它创建一个混合,除了测试以外,一切工作都正常。
这是我创建的混合:
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,因为我可以设置何时启动它,以及何时需要它。我不想使用进度条,我需要为动画设置时间。
在此先感谢!
感谢提示@locks,不幸的是我已经转移到另一种解决方案,但下次发生这种事情时我会记住它! –