如何写茉莉花来覆盖我的功能?我收到错误"config method in not exist"


我的

函数出错,我试图在 Jasmine 中涵盖该函数 "Error is config method does not exist" 并配置我试图涵盖的方法。

我希望将正确的测试用例场景涵盖到我的配置方法中。

const config = () => {
    return ({
      name: 'modal.name',
      class: 'modal.class',
      choice: 'modal.choice'
    });
  }
describe('Config', () => {
  it('config is defined', () => {
    let data = {
      name: 'modal.name',
      class: 'modal.class',
      choice: 'modal.choice'
    };
    Object.assign(config, data);
    spyOn(data, 'config').and.returnValue(Promise.resolve(data));
  });
});

收到该错误是因为您尝试使用以下语句监视data对象中的config方法:

spyOn(data, 'config').and.returnValue(Promise.resolve(data));

data对象没有config方法,因此,当您调用spyOn时,它会引发该错误。

你的it说你正在尝试测试config被定义,但你在测试中做了非常奇怪的事情。如果要检查是否定义了config,可以执行以下操作:

it('config is defined', () => {
    expect(config).toBeDefined();
});

更详细的测试是测试该方法除了现有方法之外是否返回所需的数据:

it('config returns the configuration', () => {
    expect(config()).toEqual({
        name: 'modal.name',
        class: 'modal.class',
        choice: 'modal.choice'
    });
});

最新更新