我还在学习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());
}
我两种都尝试了,都有效,但我不知道每一种都能更好地服务于单元测试的目的
这有点取决于个人品味。一般来说,我建议单元测试应该因一个原因而不是多个原因而失败。因此,这意味着您应该倾向于在一个单元测试中验证被测类的特定行为。
测试 getter/setter 可能不值得测试,除非你在那里做了一些额外的逻辑。
从技术上讲,没有什么区别,只是使用分离方法时,您会花费更多时间打字。
如果您仍然需要/想要编写一些测试,我建议您找到一种适合您的团队的方法并坚持下去,以避免采用不同的测试方法。
就我个人而言,我会将它们分组并定义测试如下:
shouldPopulateAttributesWhenRetrievingCarFromDatabase
(如果你真的想继续编写这样的测试)。