Angularjs 如何测试用mixin重写的FullCalendar函数

Angularjs 如何测试用mixin重写的FullCalendar函数,angularjs,testing,mocking,fullcalendar,mixins,Angularjs,Testing,Mocking,Fullcalendar,Mixins,我使用FullCalendar v2.2.7,需要测试修改后的方法(computeRange),我可以通过mixin访问该方法。 测试应该通过Jasmine/Karma进行。 工具:AngularJS,TS 如何截取函数computeRange和mock mixin? 下面是我重写函数的代码: export default class CustomFullCalendarService { constructor() { 'ngInject'; } pu

我使用FullCalendar v2.2.7,需要测试修改后的方法(computeRange),我可以通过mixin访问该方法。 测试应该通过Jasmine/Karma进行。 工具:AngularJS,TS

如何截取函数computeRange和mock mixin? 下面是我重写函数的代码:

export default class CustomFullCalendarService {
    constructor() {
        'ngInject';
    }

    public rewriteFullCalendarMethods(fullCalendar) {
        let range;

        fullCalendar.views.month.mixin({
            computeRange() {

                // My own code rewriting computeRange() logic

                return range;
            }
        });
    };
};

让我们后退一步。您决定重写内部fullCalendar函数的具体原因是什么?你遇到了什么问题?我只是想知道是否有更好的方法来解决您的总体需求,或者通过更好地使用fullCalendar的API,或者通过升级(因为您现在比当前版本落后3个版本-添加了很多功能,修复了很多bug)。最好避免自定义源代码,除非它是100%必要的,因为您总是会遇到意想不到的问题。@ADyson遗憾的是,没有选择余地。由于强大的规则,我无法升级版本。这个函数已经改变了,现在我需要测试它。好的,但是也许有更好的方法来满足使用v2的需求。你想通过改变来实现的具体目标是什么?我不是这些测试工具的专家,所以我将把这留给其他人,但我非常熟悉fullcalendar的API,所以我只是想检查一下,总体来说,没有一种更简单/更好的方法来满足您的需求。