Karma Jasmine 使用 SpyOn 测试在浏览器中运行良好,但在进行更改时自动重新运行时出现“未声明可写或没有 setter”错误

Karma Jasmine Tests with SpyOn run fine in browser, but error with 'is not declared writable or has no setter' on auto re-run when a change is made

提问人:Jmh2013 提问时间:10/27/2023 更新时间:10/27/2023 访问量:17

问:

我有一套测试,它们在控制台中和启动浏览器会话后的第一次运行期间运行完全正常(即)。但是,一旦我进行更改并且浏览器会话再次自动运行测试,我就会收到以下错误:karma start

Error: <spyOn> : mySpydMethod is not declared writable or has no setter
Usage: spyOn(<object>, <methodName>)

这是我正在做的事情的基本骨架。

import { mySpydMethod } from "modules/api";

describe(testNumber + '. Component display', () => {

    it('the test name', async () => {

         spyOn(api, "mySpydMethod ").and.returnValue(Promise.resolve([]));

         const vm = new TestVueComponent({
             propsData: { showData: true}
         }).$mount();

         await Vue.nextTick();

         const $component = $(vm.$el);

         expect($component.find(".wrapper").length).toEqual(1);

         vm.$destroy();
     });
});

同样,在控制台中和浏览器中首次运行时,它工作正常。如果它自动重新运行,那么它在间谍上就会出错。有谁知道是什么原因导致了这个问题?

业力 v6.4.2 | 业力茉莉花 4.0.2 | karma-chrome-launcher:3.2.0 | 傀儡师:21.4.1

单元测试 Jasmine Karma-Runner 间谍

评论


答: 暂无答案