java测试相关的一些整理


测试其实是衡量一个程序员编程素养的一个比较重要的维度。做测试其实是对自己写过代码的一个再思考的过程,而不仅仅是发现程序中的bug。之前工作中很少写测试,虽然短期看代码产出量变多了但是长久来看的话其实是一个非常不好的习惯,中间还是吃过几次亏的。

Junit

Junit是idea自带的测试框架,可以用快捷键shift+command+T快速的创建测试类。需要添加一下pom依赖:

  <groupId>org.junit.jupiter</groupId>
  <artifactId>junit-jupiter</artifactId>
  <version>${latest-version}</version>
  <scope>test</scope>
</dependency>

在方法中加入@Test方注解可以开始测试。

JUnit5 提供了4个生命周期注解 @BeforeAll @AfterAll @BeforeEach @AfterEach

  • @BeforeAll:在所有的 @Test @RepeatedTest @ParameterizedTest @TestFactory 之前执行
  • @BeforeEach:在每个测试用例前执行
  • @AfterAll @AfterEach:与before类似,在测试用例之后执行

@RepeatedTest() 执行多次测试

@ParameterizedTest参数化测试

@ParameterizedTest
@ValueSource(strings = { "racecar", "radar", "able was I ere I saw elba" })
void palindromes(String candidate) {
    log.error(candidate);
}

@CsvSource csv源支持

@ParameterizedTest
@CsvSource({
        "apple,         1",
        "banana,        2",
        "'lemon, lime', 0xF1"
})
void testWithCsvSource(String fruit, int rank) {
    log.error(fruit + rank);
}

它也支持从文件导入,例如@CsvFileSource(resources = "/two-column.csv", numLinesToSkip = 1)

spring的测试

@SpringTest

@MockBean

@SpyBean

等等

mock

Mockito

<!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>1.10.19</version>
    <scope>test</scope>
</dependency>

https://juejin.im/post/6844903631137800206

参考文章:https://dnocm.com/articles/cherry/junit-5-info/(非常详细)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值