【问题标题】:How to mock imported function in ts-mock如何在 ts-mock 中模拟导入的函数
【发布时间】:2022-01-24 04:30:52
【问题描述】:

我是 typescript 的新手,并且在玩 aws-lambda。

我正在尝试对我的处理程序进行单元测试,因此我需要模拟服务类,以便它返回一些模拟数据

下面我有一个从域服务获取数据的简单函数。

处理程序:

服务:

测试:

当我使用npx mocha 运行测试时,它显示:

【问题讨论】:

    标签: typescript unit-testing aws-lambda ts-mockito


    【解决方案1】:

    看起来您有一个函数调用,您需要在其中传递对模拟函数的引用:

    mockito.when(mockedService.getAllDomain()).thenResolve([]);
    

    应该是:

    mockito.when(mockedService.getAllDomain).thenResolve([]);
                                           ^ Without the function call brackets ()
    

    顺便说一句,在 mocha 中使用 sinon 之类的东西来模拟更习惯用语。我提到这一点是因为我不确定您找到的库是否适合模拟依赖项 - 我认为您需要重构代码以允许注入由 ts-mockito 创建的模拟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-14
      • 1970-01-01
      • 2020-02-13
      • 2017-02-06
      • 1970-01-01
      • 2018-03-20
      • 1970-01-01
      相关资源
      最近更新 更多