1.概述

在这篇简短的教程中,我们将要实现非静态方法@Beforeall.@毕竟注释可用JUNIT5.

2。@Beforeall.@毕竟在非静态方法中

虽然单位测试,我们可能偶尔会想使用@Beforeall.@毕竟在非静态设置和拆除方法中 - 例如,在@中嵌套测试类或接口默认方法。

让我们用这个测试课@Beforeall.@毕竟方法是非静态:

公共类BeForeanDafterAnnotationsunittest {String输入;结果长期;@beforeall公共void setup(){input =“77”;@Afterall公共void indown(){input = null;结果= null;@test公共vod whinconvertstringtolong_thenresultshouldbelong(){结果= long.valueof(输入);断言.Astequals(77L,结果);}}

如果我们运行上面的代码,它将抛出异常:

org.junit.platform.commons.junitexception:...

我们现在看看我们如何避免这种情况。

3.@testinstance.注解

我们将使用它@testinstance.注释配置测试的生命周期。如果我们没有在我们的测试类上声明它,则生命周期模式将是per_method.默认所以,防止我们的测试课扔了Junitexception,我们需要用它注释@testinstance(testinstance。lifecycle.per_class)

让我们重做我们的测试课并添加@testinstance(testinstance。lifecycle.per_class):

@testinstance(testinstance.lifecycle.per_class)public类beforeandafterannotationsunittest {String输入;结果长期;@beforeall公共void setup(){input =“77”;@Afterall公共void indown(){input = null;结果= null;@test公共vod whinconvertstringtolong_thenresultshouldbelong(){结果= long.valueof(输入);断言.Astequals(77L,结果);}}

在这种情况下,我们的测试成功运行。

4。结论

在这简短的文章中,我们学会了如何使用@Beforeall.@毕竟在非静态方法中。首先,我们从一个简单的非静态示例开始,以显示如果我们不包含会发生什么@testinstance.注解。然后,我们向我们的测试注释了@testinstance(testinstance.lifecycle.per_class)防止扔掉Junitexception.

一如既往地,所有这些示例的实现是在github上

通用底部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程
评论在本文上关闭!