如何修复类型'AsymmetricMatcher <any>'不能分配给类型'()=> void'。在茉莉/开玩笑中

时间:2019-12-06 15:10:12

标签: jasmine jestjs ts-jest

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

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

        sut.doYourThing(config);

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

我遇到的问题是,在更新到最新的笑话/茉莉花后,我在myCallback: jasmine.anything()中收到此错误:

  

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

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

1 个答案:

答案 0 :(得分:0)

我的应用程序中遇到了同样的问题,我通过将麻烦的类型映射到任何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);
      });