【问题标题】:How can I mock a higher order function in Jest如何在 Jest 中模拟高阶函数
【发布时间】:2018-06-25 15:20:38
【问题描述】:

我想模拟一个看起来像这样的函数:

export default (name, onRegComponentSize, debug=false) => event => { 
    if(debug)
        console.warn(`${name} -> ${event.nativeEvent.layout.height}`)

    onRegComponentSize( name, { 
        width: event.nativeEvent.layout.width, 
        height: event.nativeEvent.layout.height
    })
}

但不知道我该怎么做。 :/

【问题讨论】:

    标签: reactjs unit-testing react-native mocking jestjs


    【解决方案1】:

    我会主张对函数本身进行单元测试,然后让 mock 基本上是实际函数的硬编码版本。这个想法是,一旦你对函数进行了单元测试,你就可以假设它在其他任何地方都按预期工作。

    【讨论】:

    • 有道理!模拟这个功能真的没有意义。我应该只对函数进行一次单元测试,我可以假设它在任何地方都可以工作。
    • 我仍然认为要模拟它,但要有一个非常简单的模拟。原因是你永远不应该让非库导入不被模拟,这样你就可以限制你正在测试的功能。本质上,具有基于预期结果的自定义模拟函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 2019-04-09
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 2021-03-28
    相关资源
    最近更新 更多