我在AngularJS项目中使用momentJS。
我正在尝试编写单元测试,并且我不断遇到问题。
这是我的配置文件:
// list of files / patterns to load in the browser
files: [
// './bower_components/moment/min/moment.min.js',
// './bower_components/moment-timezone/builds/moment-timezone.min.js',
// './bower_components/moment/min/moment-with-locales.js',
// './bower_components/moment-timezone/builds/moment-timezone-with-data.js',
'./bower_components/moment/moment.js',
'./bower_components/moment-timezone/moment-timezone.js',
'./source/builds/vendors.js',
'./node_modules/angular-mocks/angular-mocks.js',
'./source/builds/vendors.css',
'./source/builds/app.css',
'./source/builds/bundle.js',
'./source/js/**/*.spec.js'
],
我一直收到这个错误:TypeError:moment(...)。year(...)。week不是函数
我不确定如何修复错误。
为了暂时运行单元测试我们需要检查的是当前.js和angular-moment.js文件要包含在配置文件中
files: [
'../bower_components/moment/moment.js',
'../bower_components/angular-moment/angular-moment.js',
]
之后在spec文件上
describe('Moment Tests', function() {
var _moment;
beforeEach(inject(function(moment) {
_moment: moment
}));
});
describe('Test for date by provided format', function (){
it('should return date by provided format', function() {
var expectedYear = _moment(new Date().year());
expect(2019).toEqual(expectedDate);
});
});
希望这会有所帮助。