本本本添哥
奶爸的编程之路,也就一周冷个三天~
专门分享Java微服务、计算机软考、项目管理、个人成长等相关内容
欢迎关注我的公众号:本本本添哥
展开
-
【项目实战】使用Junit5+PowerMock+Mockito来编写单元测试的小技巧汇总
使用Junit5+PowerMock+Mockito来编写单元测试,要求如下:(1)设置测试数据(Arrange),执行待测方法(Act),然后验证结果(Assert)(2)结果使用Assertions的API进行校验,比如在所有的assertEquals变成为Assertions.assertEquals(3)@Test下面的方法不加public(4)注意导入的方法,都是static(4)改成(5)不使用注解,改成(6)使用TestMe、百度Comate AI工具帮你完成单元测试。原创 2024-09-12 20:36:50 · 268 阅读 · 0 评论 -
【项目实战】单元测试框架PowerMock,基本可以覆盖测试所有普通类的测试,也是运用场景最多的框架
PowerMock,是一个 Java 测试框架。PowerMock,扩展了 JUnit 和 Mockito 的功能。PowerMock,基本可以覆盖测试所有普通类的测试,也是运用场景最多的框架PowerMock,允许开发者对以下内容进行模拟和存根。原创 2024-09-12 20:35:17 · 49 阅读 · 0 评论 -
【异常】使用Mockito单元测试时,提示Cannot instantiate @InjectMocks field named ‘baseMapper‘!,结果是@InjectMocks不适用于接口
既然VehicleMapper是一个接口,你应该使用@Mock来声明它,这样Mockito会在运行时动态地创建一个这个接口的mock对象。(3)@InjectMocks只能用于非接口类型的字段,即它必须是一个可以实例化的类,而不是一个接口。如果试图将@InjectMocks用在一个接口上,Mockito将会尝试创建这个接口的一个实例。(1)@InjectMocks注解主要用于那些你想要测试的对象(通常是类的实例)在例子中,VehicleMapper是一个接口,因此不能直接实例化它。原创 2024-09-05 13:10:48 · 139 阅读 · 0 评论 -
【异常】Mockito提示报错无法解析 ‘BodyBuilder‘ 中的方法 ‘content‘
您提到的错误通常发生在尝试使用 Mockito 框架来模拟某个类中的方法时,但该类或方法并未正确导入或者 Mockito 未能正确识别它的情况。在这种情况下,错误提示“无法解析。的错误,这通常意味着你在尝试使用某个方法或 API 时,该方法并未在你的类路径中可用,或者 Mockito 版本与使用的其他库之间存在不兼容性。如果您能够提供更多具体的信息,比如模拟的上下文代码或者项目的依赖列表,我可以为您提供更具体的帮助。当你在使用 Mockito 进行单元测试时遇到无法解析。原创 2024-08-21 00:02:12 · 249 阅读 · 0 评论 -
【项目实战】使用JMockit框架,创建和维护单元测试
模拟(Mocking): 模拟类或接口的行为,以便于测试。存根(Stubbing): 替换类或方法的实现。存根方法(Stub Method): 用于指定方法的行为和返回值。存根构造器(Stub Constructor): 用于指定构造器的行为和返回值。性能敏感的应用: 如果性能是关键因素,推荐使用 JMockit。集成性和社区支持: 如果你更关心 IDE 支持和社区活跃度,PowerMock 是更好的选择。API 简洁性: 如果你希望使用更简洁的 API,JMockit 可能更适合。现有项目。原创 2024-08-21 00:02:21 · 580 阅读 · 0 评论 -
【项目实战】A/B测试
A/B测试,和蓝绿部署以及金丝雀,完全是两回事。蓝绿部署和金丝雀是发布策略,目标是确保新上线的系统稳定,关注的是新系统的BUG、隐患。A/B测试,是效果测试,同一时间有多个版本的服务对外服务,这些服务都是经过足够测试,达到了上线标准的服务,有差异但是没有新旧之分(它们上线时可能采用了蓝绿部署的方式)。原创 2024-08-05 23:09:11 · 40 阅读 · 0 评论 -
【好物推荐】性能测试之压力测试,常用的好用的压测工具Apache Bench (ab.exe)
Apache Bench (ab.exe),是Apache HTTP服务器自带的简单命令行工具。Apache Bench (ab.exe),适用于HTTP/HTTPS压力测试。Apache Bench (ab.exe),是轻量级的简单命令行工具。Apache Bench (ab.exe),用于快速测试Web服务器的性能。Apache Bench (ab.exe),是一个开源的、简单的 HTTP 压力测试工具。Apache Bench (ab.exe),通常用来测试 web 服务器的性能。原创 2024-08-01 00:17:05 · 70 阅读 · 0 评论 -
【好物推荐】性能测试之压力测试,常用的好用的压测工具(LoadRunner)
LoadRunner ,是一款成熟的性能测试工具LoadRunner ,是一款业界领先的功能和性能测试工具。LoadRunner ,由 Micro Focus 公司拥有.LoadRunner ,用于评估软件系统的性能、稳定性和可扩展性。LoadRunner ,能够模拟大量用户并发访问,以测试软件在真实世界负载下的行为,帮助识别和解决性能瓶颈。LoadRunner ,被广泛应用于企业级软件的性能评估,尤其适用于需要模拟大规模用户并发访问的场景。原创 2024-08-01 00:16:47 · 64 阅读 · 0 评论 -
【项目实战】性能测试之压力测试 (Stress Testing)
压力测试是将系统推向极限,测试系统在超出正常负载条件下的表现。目的是发现系统在极端条件下的行为、性能瓶颈和故障恢复能力。原创 2024-07-30 21:06:23 · 16 阅读 · 0 评论 -
【项目实战】性能测试之压力测试 VS 负载测试
负载测试(Load Testing)和压力测试(Stress Testing)都是性能测试的一种形式。它们用于评估软件系统在特定负载条件下的行为。尽管它们的目标都是评估系统的性能,但它们的重点和实施方法有所不同。负载测试和压力测试虽然都属于性能测试,但它们各有侧重。这两种测试对于确保软件系统的可靠性和性能都是非常重要的。原创 2024-07-30 21:06:03 · 22 阅读 · 0 评论 -
【异常】为啥我的JUnit要这么久,原来是这个@SpringBootTest注解在搞鬼!
SpringBootTest 注解是 Spring Boot 测试中常用的一个注解。@SpringBootTest 注解用于进行集成测试。原创 2024-06-26 10:12:25 · 115 阅读 · 0 评论 -
【异常】Jenkins构建之后,提示错误Reports path not found or is not a directory.../**/target/surefire-reports/*.xml
这两个错误信息表明,在尝试收集测试报告时,Maven Surefire插件无法找到指定路径下的报告文件夹或认为该路径不是一个目录。修改Junit的流水线如下内容。原创 2024-06-24 19:58:27 · 89 阅读 · 0 评论 -
【项目实战】使用Maven打包时,跳过执行测试用例(运行mvn install时,跳过Test)
在Maven项目中,如果你希望在打包时跳过执行测试用例(运行mvn install时跳过Test),可以采用以下几种方法:(1) 使用命令行参数(2)修改POM.xml配置(3)IDE集成。原创 2024-05-14 19:32:13 · 2094 阅读 · 0 评论 -
【异常】写了很多单元测试用例,但是SonarQube上显示的单元测试覆盖率依旧为 0.0%,原来是maven-surefire-plugin插件没有配置!
写了很多单元测试用例,但是Sonar上显示的单元测试覆盖率依旧为 0.0%原创 2024-04-08 21:26:30 · 2336 阅读 · 0 评论 -
【项目实战】性能测试之压力测试的系统性能指标基本介绍(RT响应时间)
RT响应时间,也称为Response Time。RT响应时间反映了用户从发起请求到收到响应所需的总时间。RT响应时间指的是从发送请求到收到响应的总时间。RT响应时间指系统对请求作出响应的时间。RT响应时间指从发送请求到收到响应所需的时间RT响应时间是指用户通过客户端发起一个请求开始后,直到客户端接收到服务器对该请求返回的响应结束,整个过程中所耗费的总时间。这个时间间隔涵盖了系统处理请求的所有阶段,这个时间包括接收请求(请求的发送)、内部处理(服务器的处理)、返回结果(响应的回传)等所有环节。原创 2024-04-07 09:24:56 · 392 阅读 · 0 评论 -
【项目实战】性能测试之压力测试的系统性能指标基本(并发用户数 与 并发量)
并发:一段时间访问的大量用户的请求并行:同一时刻的大量用户的请求。原创 2024-04-07 09:22:41 · 321 阅读 · 0 评论 -
【项目实战】性能测试之压力测试的系统性能指标基本介绍(吞吐量Throughput)
吞吐量(Throughput)吞吐量通常用每秒处理的事务数(TPS)或每秒查询数(QPS)来量化吞吐量直接反映了系统的处理能力。吞吐量是指在一次性能测试过程中网络上传输的数据量的总和。吞吐量指的是系统在一定时间内成功处理的请求数量。吞吐量是指系统在单位时间内处理请求的数量。吞吐量是指在一定时间内系统能处理的请求数量。吞吐量是性能测试中重要的系统性能指标之一。原创 2024-04-07 09:22:13 · 379 阅读 · 0 评论 -
【项目实战】性能测试之压力测试的系统性能指标基本介绍(每秒事务数TPS和峰值TPS)
峰值TPS是指系统在特定高峰时段内能够处理的最大TPS。这个指标有助于了解系统在流量高峰期的表现。通常平均TPS是压力测试的重要指标之一,应与预期目标TPS值做对比。同时,取所采集到的请求的最小TPS和最大TPS作为测试结果。原创 2024-04-06 20:35:13 · 502 阅读 · 0 评论 -
【项目实战】性能测试之压力测试的系统性能指标基本介绍(每秒请求数QPS与峰值QPS)
QPS全称为Queries/Query Per Second,对应fetches/sec,QPS = req/sec = 请求数/秒翻译为:每秒查询率,每秒请求数,即每秒钟的查询次数,每秒的响应请求数,也即是最大吞吐能力。QPS提供了一个瞬时的负载情况。QPS是一台服务器每秒能够相应的查询次数QPS是衡量服务器性能的关键指标。QPS是一个衡量系统性能的指标,表示每秒查询率。QPS具体指的是一台服务器每秒能够响应的查询次数。原创 2024-04-06 20:19:54 · 455 阅读 · 0 评论 -
【好物推荐】推荐一款好用但收费的单元测试编写工具Squaretest
Squaretest是一款收费但好用的单元测试编写工具。Squaretest是一款自动生成单元测试的插件。Squaretest是一款值得推荐的单元测试编写工具。Squaretest特别适合用于提升代码覆盖率和解决sonar扫描出的问题。Squaretest尤其适合那些需要快速提升代码覆盖率和应对代码质量问题的项目。原创 2024-04-06 10:43:17 · 903 阅读 · 0 评论 -
【项目实战】Java单元测试入门框架——JUnit的简单介绍
此测试框架使用的Junit测试版本是Junit4.12;Junit4.X后的测试框架使用的是Java的注解,而这些注解已经大概包括了一个测试用例的生命周期,主要执行顺序如下:@BeforeClass->@Before->@Test->@After->@AfterClass,而每个测试方法的执行顺序为:@Before->@Test->@After;表1说明了Junit框架各个注解;原创 2024-03-14 09:51:58 · 54 阅读 · 0 评论 -
【项目实战】JUnit 4中使用@RunWith 注解 / JUnit 5中使用@ExtendWith 注解
测试类上使用 @ExtendWith(SpringExtension.class) 注解(使用的是 JUnit 5)测试类上使用 @RunWith(SpringRunner.class) 注解(使用的是 JUnit 4)原创 2024-04-01 20:55:07 · 893 阅读 · 0 评论 -
【异常】IDEA 提示没有覆盖率结果。点击编辑以修复配置设置。
IDEA 提示没有覆盖率结果。点击编辑以修复配置设置。截图略。原创 2024-03-28 10:11:18 · 1247 阅读 · 0 评论 -
【异常】Mockito 默认不支持模拟 final 类
请注意,使用 mock-maker-inline 可能会增加测试的运行时间,并且可能不适用于所有情况。这个错误信息表明在使用 Mockito 进行单元测试时,你尝试模拟(mock)了一个 final 类,而 Mockito 默认不支持模拟 final 类。Mockito 提供了一个名为 mock-maker-inline 的配置选项,它可以允许 Mockito 模拟 final 类。如果不想修改被测试的类,并且 mock-maker-inline 选项也不适用,可以考虑使用 Mockito 的间谍功能。原创 2024-03-27 22:25:57 · 771 阅读 · 0 评论 -
【项目实战】单元测试中,使用 @MybatisTest 注解代替 @SpringBootTest注解
MybatisTest 注解是 Spring Boot Test 的一部分,用于在测试时只加载 MyBatis 相关的 beans,这样你可以专注于测试 MyBatis mapper 而不需要加载整个应用上下文。原创 2024-03-26 12:52:24 · 342 阅读 · 0 评论 -
【异常】单元测试框架Mockito提示MockitoException: Failed to release mocks This should not happen unless you are
要解决这个问题,你可以检查你的代码,确保正确使用Mockito框架和参数匹配器。确保你正确地创建了mock对象,并在需要的地方使用了正确的参数匹配器。如果你正在使用第三方的mock maker,请确保它与Mockito框架兼容,并按照其文档进行正确的配置和使用。具体来说,它指出在释放mock对象时出现了失败,并且给出了一个可能的原因是使用了第三方的mock maker。请注意,这只是一个示例,你需要根据你的具体情况进行适当的修改和调整。此外,它还提到了一个更具体的错误:无效的参数匹配器使用。原创 2024-03-26 12:33:39 · 1225 阅读 · 0 评论 -
【项目实战】Mockito 单元测试 Redis的常用API: redisTemplate.opsForValue().get(RedisKeyDef.xxx);
要对以下内容,使用Mockito进行单元测试,原创 2024-03-26 12:33:25 · 747 阅读 · 0 评论 -
【异常】使用TestMe自动生成单元测试代码后,提示java: 找不到符号 符号: 类 M
这个错误信息“java: 找不到符号 符号: 类 M”表示编译器在尝试编译你的代码时找不到名为“M”的类。这通常是由于类路径问题造成的,可能类“M”不在编译器的类路径(classpath)中。类路径是编译器查找用户定义的类和包的地方。你需要确保包含“M”类的目录或JAR文件被添加到类路径中。要解决这个问题,你可以检查并确保“M”类的源文件存在于正确的位置。确保在编译时包含了正确的类路径。同时,检查导入语句是否正确。比如,修改之后,变成如下的代码。原创 2024-03-26 12:33:03 · 345 阅读 · 0 评论 -
【异常】ConflictingBeanDefinitionException: Annotation-specified bean name ‘voiceSettingMapper‘ for bean
具体来说,在项目中,有一个名为voiceSettingMapper的bean定义,这个bean的类是com.xxx.mapper.VoiceSettingMapper。但同时,Spring还试图创建另一个同名的bean,其类是org.mybatis.spring.mapper.MapperFactoryBean。如果你有两个同名的bean,但其中一个是你优先想使用的,你可以在那个bean上使用@Primary注解。为了解决这个问题,你有以下几种选择,请根据你的具体需求选择最适合的解决方案。原创 2024-03-26 12:29:56 · 401 阅读 · 0 评论 -
【异常】IDEA运行单元测试覆盖率统计时,出现运行 整个项目(4)时出错,配置按模块工作目录时将禁用 ‘覆盖‘。
运行 整个项目(4)时出错:配置按模块工作目录时将禁用 ‘覆盖’。只指定一个工作目录,或将测试范围更改为一个模块。原创 2024-03-26 10:08:59 · 399 阅读 · 0 评论 -
【项目实战】记一次因单元测试注解@BeforeEach 和@Before错误使用导致的空指针异常
在项目开发过程中,我们可能会遇到因单元测试注解@BeforeEach和@Before错误使用导致的空指针异常。在使用JUnit 5框架时,错误地使用了@Before注解,导致在每个测试方法执行前没有正确初始化对象,从而引发空指针异常。原创 2024-03-25 21:07:20 · 482 阅读 · 0 评论 -
【异常】PreconditionViolationException: Could not load class with name: com.xxx.FeishuUtilTest
【代码】【异常】PreconditionViolationException: Could not load class with name: com.xxx.FeishuUtilTest。原创 2024-03-14 01:03:07 · 309 阅读 · 0 评论 -
【项目实战】GTest测试框架介绍
GTest是由Google开发的。GTest是一个C++单元测试框架。原创 2023-10-25 12:40:36 · 313 阅读 · 0 评论 -
【项目实战】自动化测试软件VectorCAST介绍
VectorCAST是一款先进的自动化测试软件。VectorCAST是一款功能强大、易于使用的自动化测试软件。VectorCAST适用于各种嵌入式系统的测试。VectorCAST为嵌入式系统的测试提供了一种高效、可靠的解决方案。VectorCAST提供了一整套完整的测试工具,包括测试管理、代码覆盖、缺陷定位、报告生成等,以帮助开发人员提高测试效率,确保软件质量。VectorCAST支持。原创 2023-09-19 22:49:01 · 1131 阅读 · 0 评论 -
【项目实战】冒烟测试(版本验证测试)对比系统测试、回归测试的区别
冒烟测试是从抽象层次验证软件的基本功能是否已经实现来确定是否需要更多的测试。若测试失效,软件不再进行其他测试,直接返回给开发人员。原创 2023-08-06 17:29:31 · 639 阅读 · 0 评论 -
【项目实战】SBOM,使用Black Duck Binary Analysis(黑鸭子工具)进行渗透测试漏洞扫描
渗透测试(Penetration Testing,简称“Pen Test”或“pentest”)是一种模拟攻击的行为,旨在评估计算机系统、网络或Web应用程序的安全性。通过模拟黑客的行为,渗透测试人员寻找并利用潜在的安全漏洞,从而评估系统的防御能力和识别存在的安全风险。原创 2024-08-21 00:00:29 · 165 阅读 · 0 评论 -
【好物推荐】性能测试之压力测试,常见连接错误分析:连接超时(ConnectTimeout)
在压测过程中报错:连接超时(ConnectTimeout),报错如下截图显示。原创 2023-07-22 07:56:10 · 2776 阅读 · 0 评论 -
【项目实战】性能测试之负载测试 (Load Testing)
负载测试是一种性能测试方法负载测试是性能测试的一种负载测试是通过模拟不同的负载情况来测试系统的性能表现。负载测试是在一定的工作负荷下对系统进行测试,以评估系统在正常或高于正常的工作负载下的性能表现。负载测试主要关注系统在高负载情况下的性能表现。性能表现,包括如系统响应时间、吞吐量、CPU使用率等指标。原创 2024-07-30 21:07:01 · 392 阅读 · 0 评论 -
【项目实战】测试基础
软件的基本功能正常,能够完成预期的任务。软件在异常情况下的处理能力有待提高。软件的性能达到预期要求,但在某些场景下仍需优化。软件的安全性达到预期要求,但仍有提升空间。软件在不同平台和不同版本下的兼容性表现良好。对异常处理进行改进,提高软件的健壮性。对性能进行优化,提高软件的响应速度和内存利用率。加强安全性方面的保护措施,提高数据的安全性。对软件的兼容性进行进一步测试和优化,确保在不同环境下能够稳定运行。原创 2024-07-30 21:42:22 · 253 阅读 · 0 评论 -
【项目实战】与单元测试有关的Maven插件介绍 - cobertura-maven-plugin插件说明
Cobertura 是一个用于 Java 代码覆盖率检测的开源工具,而 Cobertura Maven Plugin 是它的 Maven 插件,用于在 Maven 项目中集成代码覆盖率检测。Cobertura Maven Plugin,该插件是生产类测试的覆盖率,具体参数设置,可以到技术关联资源查看。原创 2023-07-19 13:10:57 · 606 阅读 · 0 评论