测试“nullable = true”属性应该分开还是可以一次测试?

问题描述 投票:0回答:1

我还在学习Junit,我不知道哪种方法更好

观察:“汽车”正在 @BeforeEach 方法上构建

一次性举例:

@Test public void CarRepository_Id_NotNull() {

    Car carBankSlip = carRepository.save(car);

    assertNotNull(car.getId());
    assertNotNull(car.getUserId());
    assertNotNull(car.getColor());
}

全部分开的示例:

@Test public void CarRepository_Id_NotNull() {

    Car carBankSlip = carRepository.save(car);

    assertNotNull(car.getId());
}

@Test public void CarRepository_UserId_NotNull() {

    Car carBankSlip = carRepository.save(car);

    assertNotNull(car.getUserId());
}

@Test public void CarRepository_Color_NotNull() {

    Car carBankSlip = carRepository.save(car);

    assertNotNull(car.getColor());
}

我两种都尝试了,都有效,但我不知道每一种都能更好地服务于单元测试的目的

unit-testing junit5 spring-test
1个回答
0
投票

这有点取决于个人品味。一般来说,我建议单元测试应该因一个原因而不是多个原因而失败。因此,这意味着您应该倾向于在一个单元测试中验证被测类的特定行为。

测试 getter/setter 可能不值得测试,除非你在那里做了一些额外的逻辑。

从技术上讲,没有什么区别,只是使用分离方法时,您会花费更多时间打字。

如果您仍然需要/想要编写一些测试,我建议您找到一种适合您的团队的方法并坚持下去,以避免采用不同的测试方法。

就我个人而言,我会将它们分组并定义测试如下:

shouldPopulateAttributesWhenRetrievingCarFromDatabase
(如果你真的想继续编写这样的测试)。

© www.soinside.com 2019 - 2024. All rights reserved.