单元测试教程

     

代码覆盖率与测试覆盖率比较

20 3K

软件测试帮助我们确保代码正常工作,这使其成为开发过程的重要组成部分。在讨论测试时,可能会出现代码覆盖率和测试覆盖率等术语。尽管它们都代表了一种衡量代码库有效性的方法,但它们引用了不同的概念。因此,我们.

Spring Boot中使用Loki日志

43 6K

Grafana Labs 开发了Loki ,这是一个受Prometheus启发的开源日志聚合系统。其目的是存储和索引日志数据,以便于对不同应用程序和系统生成的日志进行高效查询和分析。在本文中,我们将使.

Spring Boot与Kafka + kafdrop结合使用的简单示例

50

该项目是如何将 Kafka 与 Spring Boot 结合使用的简单示例。我们将使用kafdrop显示本地 kafka 集群 UI。它有一个名为的主题product-topic,我们将通过 REST.

SpringBoot中@DataJpaTest 和 JUnit 中的存储库类

38 9K

当使用使用Spring Data JPA进行数据持久化的 Spring Boot 应用程序时,测试与数据库交互的存储库至关重要。在本教程中,我们将探索如何使用Spring Boot 和JUnit提供的.

TestContainer用户使用经验

68 8K

TestContainer是集成测试的游戏规则改变者,它们具有特定于语言的 docker api,这使得启动容器并验证它们是否已完全初始化并准备好接受连接变得很简单。不再需要模拟或复杂的环境配置。将测.

Mata论文:大模型首次用于自动化单元测试改进

120

这篇论文介绍了 Meta 公司的 TestGen-LLM 工具,该工具利用 LLM 技术自动改进现有的人工编写的测试,并在 Instagram 和 Facebook 平台上进行了测试。通过测试,发现 .

SpringBoot中Mockito 测试@MockBean与@SpyBea终极指南

217 9K

@MockBean和@SpyBean之间的细微差别通常起着关键作用。这些注释是 Mockito 框架中不可或缺的一部分,具有不同的用途,并且是高效且有效的测试策略的关键。对于已经熟悉 Mockito .

Java/Spring中测试Mockito Spy教程

91 20K

Mockito 以其对单元测试的变革性影响而闻名,是一个强大的模拟框架。它的主要功能是使开发人员能够制作和操作模拟对象。这些模拟对于隔离应用程序的特定组件进行测试至关重要,不受外部依赖项和交互的不可预.

Java中如何设置与改变运行时的环境变量

208 9K

Java 提供了一种与环境变量交互的简单方法。我们可以访问它们,但不能轻易更改它们。然而,在某些情况下,我们需要对环境变量有更多的控制,特别是对于测试场景。在本教程中,我们将学习如何解决此问题并以编程.

在SpringBoot中设置Gradle使用Spock

75 11K

Spock 框架是 Java 和Groovy应用程序的测试和规范框架。Gradle是一种流行的构建工具,也是Maven 的替代品。在本教程中,我们将展示如何使用 Gradle 设置项目并添加 Spoc.

Instancio:快速简单地创​​建完整对象的库

83 4K

Instancio 是一款为单元测试自动生成和填充测试数据对象的工具。只需一行代码,它就能创建包含嵌套对象和集合在内的综合对象,从而无需手动准备测试数据。这些对象由随机数据填充,如果测试出错,这些数据.

功能测试与集成测试

166 14K

在错综复杂的软件工程世界中,功能测试和集成测试是软件开发生命周期中的关键组成部分。本文深入探讨了这些测试方法的本质,强调了它们在创建健壮、无错误的软件过程中的关键作用。功能测试重点关注软件应用程序的各.

Go中的t.Parallel()使用教程

175 3K

在Go编程语言(Golang)的上下文中,该t.Parallel()函数经常用于测试。在 Go 中编写测试时,该testing包提供了一种T类型,该类型具有用于管理和报告测试状态的方法。该t.Para.

为什么开发人员不喜欢 TDD?

243 1

测试驱动开发(TDD)是一种软件开发过程,依赖于短期开发循环的重复: 首先开发人员编写一个自动化测试用例来定义所需的改进或新功能, 然后编写代码来通过该测试, 最后重构新代码以符合可接受的标准。 然而.

什么是质量金字塔?如何实现?

124 8K

“质量金字塔”是一个通常与软件测试和质量保证相关的概念。它表示一个层次结构,根据范围和抽象级别说明各种类型测试的分布。金字塔通常由三个主要层组成:底部的单元测试,中间的集成测试,最后是顶部的端到端(E.

JetBrains推出类似Copilot的IDE内AI助手和AI服务

201

只需在聊天中提出问题,人工智能助理就会自动根据项目上下文中的必要细节对您的询问进行补充。无需复制和粘贴代码片段,只需给 JetBrains AI 下达任务,如 "解释打开文件中的代码 "或 "将 My.

也许我们从来不知道如何交付高质量的软件

94

您是否曾经参与过一个缺少重要质量保证措施的软件项目?不只是你这样。很多公司和项目都存在这种情况。即使他们知道有质量保证这回事,也知道我们应该这样做,但所有努力的结果通常都是在发布前进行大规模的质量保证.

不要用Spring框架进行单元测试

127 7K

虽然 Spring Boot 和 Spring 框架添加了许多功能来简化框架上下文中的测试,但它也可能导致测试金字塔的关注点分离和整个测试套件的质量迅速下降。示例包括较慢的测试执行(因此构建时间)、过.

谷歌:编写干净的代码以减少认知负荷

255

您是否曾经阅读过代码却发现很难理解?您可能正在经历认知负荷!认知负荷是指完成一项任务所需的脑力劳动量。阅读代码时,您必须记住变量值、条件逻辑、循环索引、数据结构状态和接口契约等信息。随着代码变得更加复.

幽默:让AI编写单元测试?

538
"最终,你只需解释你想要什么,人工智能编码员就会做到"兄弟,如果我能解释我想要什么,我早就完成了。如果你不明白它,你就无法解释它。如果你无法解释它,人工智能将无法为你构建它。.

软件Bug训练人变成条件反射

220 2K

科学必须可复制重现,但很难,以可靠性著称的计算机也有Bug:你是否曾经在使用一个新程序或系统时,发现它有令人厌恶的错误,但过了一段时间后,你就不再注意到这些错误了?如果是这样,那么恭喜你:你已经被电脑.

Jailer:从生产数据库提取数据的工具

440

Jailer 是一个用于数据库子集、模式和数据浏览的工具。它从数据库中创建小片段,并允许您按照关系浏览数据库。非常适合创建小测试数据样本或使用相关生产数据进行本地问题分析。特征 数据浏览器允许您按照表.

在 SPRING BOOT 测试中使用 TESTCONTAINERS 的最佳方式

410 8K

如果您使用 Testcontainers JUnit 5 扩展将容器与 Spring Boot 测试集成,您最终会遇到两个系统尝试在整个生命周期内管理资源的场景,这并不理想。@TestConfigur.

为什么 BDD 在实践中很糟糕?

368 2K

对于外行来说,行为驱动开发 (BDD) 是一种软件开发方法,强调开发人员、测试人员和业务利益相关者之间的协作,以确保软件产品按照业务需求交付。在实施 BDD 时,关键是要建立一种参与开发流程的各方都能.

GreenMail:电子邮件服务器测试套件

545 5K

如果你用Java发送电子邮件,那么GreenMail应该是你工具箱中的一个工具。GreenMail允许开发人员测试基于电子邮件的应用程序、服务或系统,而无需访问实时邮件服务器。支持 SMTP、POP3.

使用ChatGPT提示能自动编写测试代码吗?- michaelfeathers

359 3K

如今,有许多基于GPT的工具可以分析注释和代码,并在您键入时提出补全建议。您也可以提示它们生成或转换代码。无论哪种情况,您都可以选择接受更改(或不接受),但必须小心。基于GPT的工具容易产生幻觉问题-.

Java 库: Hoverfly 库

861 6K

Hoverfly是一个轻量级服务虚拟化工具,允许您存根或模拟 HTTP(S) 服务。 Hoverfly Java 是一种本地语言绑定,它为您提供了一个用于在 Java 中管理 Hoverfly 的富有.

Java 库:Instancio介绍

896 4K

如何在单元测试中生成测试数据?Instancio 将帮助我们解决这个问题。它旨在减少单元测试中手动数据设置所花费的时间和代码行数。它使用随机数据实例化和填充对象,使我们的测试更加动态。我们可以使用 I.

datafaker: 为Java测试提供假数据

1088

如何为应用程序生成假数据,例如用于演示目的?推荐使用 Datafaker 库:为 JVM(Java、Kotlin、Groovy)生成假数据从未如此简单!这个库是java-faker的现代分支,基于 J.