gpt4 book ai didi

java - 适当的单元测试

转载 作者:行者123 更新时间:2023-11-29 05:24:03 26 4
gpt4 key购买 nike

我不太确定这个问题是否符合 SO 标准,但是......

我在使用 JUnit 测试 Java 应用程序以及模拟等方面经验丰富...但是有一件事我很一致 - 如何确保每个类和每个方法是真的测试了吗?

我发现了一些看起来与我想要实现的目标相似的东西 - GrandTestAuto (灵感来自 testing tools page ),你能推荐另一种(更好的)方法吗?

我必须对其进行更多测试 (GTA),我对 Spring、Mocking、Maven 一起工作很感兴趣,但我有点怀疑。

我也在使用覆盖率报告(JCoverage、JaCoCo),但这并不准确,因为当您测试调用 b() 的方法 a() 时都涵盖了,但作为开发人员,我想为 b() 编写测试。

编辑:
我找到了 JUCA report ,我也需要对此进行测试。

编辑2:
好的,关于 a() 调用 b() 的想法必须更多。

看例子

void a() {
b( "test" );
}

void b( String s ) {
Assert.notNull( s );
// ...
}

a() 被覆盖时,b() 也会被覆盖,但是 s 为 null 的情况不会,而且这种情况经常发生,因为 b() 是根本没有测试。

最佳答案

我认为代码覆盖率是了解什么是完全未经测试的一种相当好的方式,但仅此而已。

我的建议是两件事:

  • 测试审查 - 与代码审查相同,但针对的是测试代码。你不会相信这是多么有效
  • 变异测试 - 在运行时更改生产代码并检查覆盖它的测试是否失败的自动工具。我正在使用 PIT ( http://pitest.org/ ),强烈推荐它

关于java - 适当的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23405893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com