4

我有一个对象配置,我在其中向函数发送函数回调。

test('should create a ComponentMockwith the needed config', () => {
        const config: EqListeningPlayerConfig = {
           // more options
          myCallback: jasmine.anything()
        };

        sut.doYourThing(config);

        expect(ComponentMock.create).toHaveBeenCalledWith(config);
      });

我遇到的问题是,在更新到最新的 jest/jasmine 之后,我收到了这个错误myCallback: jasmine.anything()

如何修复类型“AsymmetricMatcher”不可分配给类型“() => void”。在茉莉花/开玩笑

如果我在测试继续工作时忽略该行,@ts-ignore但我想知道为什么 linter 会这样说以及如何解决它,因为我真的不明白它。

4

1 回答 1

2

我在我的应用程序中遇到了同样的问题,我通过将麻烦的类型映射到任何jasmine.anything() as any. 也许它也能解决你的问题。

test('should create a ComponentMockwith the needed config', () => {
        const config: EqListeningPlayerConfig = {
           // more options
          myCallback: jasmine.anything() as any // < --- here is what solved my issue
        };

        sut.doYourThing(config);

        expect(ComponentMock.create).toHaveBeenCalledWith(config);
      });
于 2020-05-11T12:10:21.470 回答