测试使用过滤器Vue的计算属性

时间:2020-05-13 19:45:25

标签: vue.js jestjs vue-filter

我正在使用过滤器的Vue组件中为计算属性编写测试。我不需要测试过滤器本身。

我的计算属性是:

   calsLeft () {
     const distanceLeftMiles = (this.trip.totalDistance - (this.distance.traveled.miles * 3) * 20)
     return this.$options.filters.convertToKJ(distanceLeftMiles);
   }

我在计算中而不是模板中使用过滤器,只是为了避免使模板混乱。我读到this.$options.filters可以做到这一点,尽管我不知道这是不好的做法。

我的考试是

      trip: {
        totalDistance: 9931
      },
      distance: {
        traveled: {
           miles: 30
        }
      },
      $options: {
          filters: () => jest.fn(() => convertToKJ()),
       }
    };
    expect(segmentPlan.computed.timeRemaining.call(localThis)).toEqual(196);

但是运行测试时,我总是收到错误消息 TypeError: this.$options.filters.convertToKJ is not a function

我确实已将过滤器文件导入到测试文件中,如下所示:

import filters from '../../../utilities/filters.js';

我不确定为什么会失败。

0 个答案:

没有答案