【问题标题】:How many integration tests, and how many per Jest testing file?有多少个集成测试,每个 Jest 测试文件有多少个?
【发布时间】:2020-10-27 02:40:13
【问题描述】:

我目前正在使用 NestJS 运行 Jest,并且正在编写一些集成测试。

我在 Jest 中遇到了一些时间问题,我想知道这是否与我的文件中的测试数量有关。我最大的文件中有 9 个 describe 块,以及 32 个 testit 块 - 这太多了吗?

作为一个更普遍的问题,我应该编写多少个集成测试?所有这些测试都与我的应用程序的登录/注册功能有关 - 这太多了吗?我是否可以进行太多测试?

请有人还指出我如何/在哪里可以找到有关 Jest 和整个集成测试的约定?

【问题讨论】:

  • 数量!=质量。没有约定,而且这并不是 Jest 所特有的。一般来说,单元测试应该比集成测试更受欢迎,搜索“测试金字塔”。您可以进行太多测试,因为它们需要维护而没有太大价值,并且可以为您的时间进行更好的投资。

标签: testing jestjs integration-testing nestjs


【解决方案1】:

我有 9 个描述块和 32 个测试块,它在我最大的文件中块 - 这太多了吗?

我不认识 Jest,但我会选择“不”。 9 个块和 32 个测试非常小。

作为一个更普遍的问题,我应该编写多少个集成测试?

尽可能多地涵盖您的功能、边缘情况和prevent bugs from reoccurring

所有这些测试都与登录/注册功能有关 我的应用 - 这太多了吗?

取决于您的登录/注册过程有多复杂,以及可能出错的方式有多少。但是,请记住,其中大部分应该作为单元测试来完成。例如,当注册电子邮件发送失败时会发生什么的测试将是一个单元测试。而确认用户在注册后被重定向将是一个集成测试。

我可以做太多的测试吗?

没有。但是你可以编写糟糕的测试。

这些答案可能看起来很花哨,但正如 Lines Of Code (LOC) 是一个糟糕的指标一样,测试次数也是一个糟糕的指标。这是一个不灵活的数字,没有考虑到您要测试的内容。

因为他们负责测试代码,所以您的测试反映了代码的复杂性,并且通常与您的代码库一样大或更大。

请有人还指出我如何/在哪里可以找到有关 Jest 和整个集成测试的约定?

虽然这不是 Jest 特有的,但"A Node.js Guide to Actually Doing Integration Tests" 提供了一个很好的概述。 Jest 文档有一个testing a React app 的示例并列出了tutorials for other frameworks

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 2017-07-18
    • 2021-05-19
    • 1970-01-01
    • 2015-06-20
    相关资源
    最近更新 更多