angularjs - AngularJS - 如何编写包含 momentjs 库的单元测试?
问题描述
我正在用 AngularJS 1.5.3 编写一个应用程序。
我想测试我的一项服务,并且想在测试中使用 momentjs。
测试示例:
it('should have the correct number of weeks in the calendar month for Feb', function () {
var dateString = '2018-02-01';
Calendar.data.currentCalendarMonth = moment(dateString).startOf('month');
Calendar.buildMonth();
var start = moment(dateString).startOf('month').isoWeek();
var end = moment(dateString).endOf('month').isoWeek();
expect(end - start + 1).toBe(Object.keys(Calendar.data.weeks).length);
});
当我运行测试时,我收到此错误:
TypeError: moment(...).year(...).week is not a function
我试图在我的业力配置文件中导入 momentjs,但没有效果。
编辑:时刻在我的凉亭配置文件中被列为依赖项。我试图将时刻文件放在我的 karma 配置文件之前,但这对结果没有帮助。moment(...).year(...).week 用于我的日历服务,但不在我的单元测试中。
解决方案
推荐阅读
- shell - 如果上一个剧本失败,如何运行下一个 ansible 剧本
- javascript - 想要创建发票,其中列 (td) 将使用相同的宽度动态删除或添加
- java - 使用 LinkedHashMap 中的单元格格式化程序将数值转换为相应的标签
- scala - 如何将大型镶木地板文件拆分为多个镶木地板并按时间列保存在不同的hadoop路径中
- python - 如何使用 pika 在 rabbitmq 中检测是否已与队列绑定的交换?
- php - 如何使用 array_search() 方法从不同变量中的多维数组中获取重复数据的索引
- javascript - 如何为数据表中的每一行创建一组单选按钮?
- spring - 如何在 JWT spring boot 中使用 MD5
- php - 表单中输入 type='file' 的值返回空字符串
- javascript - 阻止 npm 私有组织发布公共包