testing - 让 JUnit 失败的测试实际上并不运行断言

标签 testing junit

我的团队正在努力对我们的一些开发人员进行测试方面的培训。他们理解为什么要编写测试,并且同意他们应该编写测试,但在编写好的测试方面还有些不足。

我刚看到这样的提交

public void SomeTest{

@Test
public void testSomething{
 System.out.println(new mySomething.getData());
}

因此,他们至少通过查看确保他们的代码为他们提供了预期的输出。

我们还需要一段时间才能真正推销代码审查的理念。与此同时,我正在考虑让 JUnit 使任何没有实际 assertXXX 或 fail 语句的测试失败。然后我想让该失败消息说“您的测试应该使用断言并实际检查输出!”。

我完全希望这会导致像 assertTrue(1 == 1); 这样的调用。我们正在努力让团队参与适当的测试和代码审查,是否有任何技术机制我们可以使用来让已经获得它的开发人员的生活更轻松?帮助新人理解的技术机制如何?

最佳答案

我认为您应该考虑组织变革:指导、培训、代码审查。

只有在对目标有基本了解的情况下真诚地使用这些工具,它们才能为您提供帮助。如果缺少其中一个,他们将无法为您提供帮助。

人类只是太聪明了,会丢东西或绕过指标。我认为你的评估是不正确的,如果他们不能写一个有用的测试,“他们”就在船上。在这个阶段,自动工具根本不是正确的工具。您无法通过程序告诉您下一步该做什么来学习。

关于testing - 让 JUnit 失败的测试实际上并不运行断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5110210/

相关文章:

ipad - iPad 上的应用程序测试不起作用 : process launch failed: NotFound

hibernate - GORM 映射声明::长或不长

ruby-on-rails - 如何测试自定义验证器?

java - 如何使用java反射实例化一个无法导入的类?

java - 如何运行多个 JavaFX 测试?

java - 为什么 JUnit 测试方法需要无效?

c# - 如何对使用 Response.OnStarting 的 .NET 中间件进行单元测试

unit-testing - 如何在 Grails 中测试文件上传

java - 如何简化 Java 中无副作用方法的测试?

java - 如何将 JUnit Parameterized runner 与 varargs 构造函数一起使用?