【问题标题】:Test both source code and bundled code with jest用 jest 测试源代码和捆绑代码
【发布时间】:2022-01-31 07:52:28
【问题描述】:

假设我正在开发一个 NPM 模块。

我使用 Jest 进行测试,使用 Webpack 来捆绑它和一般的 TypeScript。

当我测试源代码时,一切都很好,代码覆盖率也非常好。但我认为这还不够。生成 Webpack 包后可能会出现问题,例如动态导入(使用变量而不是固定路径的要求)在包之后会变得不正确,或其他可能的情况。

我应该如何编写涵盖捆绑包的测试?我是否应该同时测试源代码(以便获得良好的覆盖率)和捆绑包?通常我直接从特定文件(例如/utils/myutil.ts)导入东西,但使用捆绑包这是不可能的。如何处理?

【问题讨论】:

    标签: node.js typescript webpack jestjs


    【解决方案1】:

    我确实针对我的一些项目的捆绑包进行了测试。我为一些库(npm)这样做。 为此,我创建了一些代码来导入包并针对此代码编写测试。在这种情况下不关心覆盖率,我只是想验证我的库是否做了它应该做的事情。

    在另一种情况下(不是库),我正在针对捆绑包进行测试,但我正在运行更多集成/e2e 测试。

    除非您的代码的每个函数(或大部分函数)都将被最终用户使用,否则不要太担心覆盖率。你应该以它的使用方式来测试它。 100% 的覆盖率很高兴看到,但当项目变得很大时实现非常不切实际,无论如何这都是浪费时间。当然,有些人会不同意:)

    【讨论】:

    • 我同意覆盖部分,我的意思是,有时 100% 只是浪费时间。但我还是喜欢跟踪它,如果只有 50% 也不好。
    • @euberdeveloper 一定要跟踪报道。它提供了很好的见解,但不要太担心数字。是的,50% 偏低......也许有些分支需要更多关注:)
    猜你喜欢
    • 2019-08-20
    • 1970-01-01
    • 2010-12-25
    • 2016-03-31
    • 2016-07-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 2018-04-30
    相关资源
    最近更新 更多