如果您测试 Car 类,并希望在其上创建一个返回座位数的方法。如果不需要的话,只写car.addSeat(new Seat())
多次而不在座位上实际设置一些数据就足够了吗?该方法看起来像:
public int numberOfSeats() {
return seats.size();
}
鉴于席位是席位列表。或者即使不需要,您也会在座位上填写数据?您是否应该始终尽量减少编写测试的工作量?
如果您测试 Car 类,并希望在其上创建一个返回座位数的方法。如果不需要的话,只写car.addSeat(new Seat())
多次而不在座位上实际设置一些数据就足够了吗?该方法看起来像:
public int numberOfSeats() {
return seats.size();
}
鉴于席位是席位列表。或者即使不需要,您也会在座位上填写数据?您是否应该始终尽量减少编写测试的工作量?
您应该考虑使用模拟。通过模拟,您可以使用期望控制未测试对象的行为方式。
例如 when(seat.getSomeProperty()).thenReturn("some value")
但是,如果您不需要该值,则可以将期望从代码中排除。这样可以在不重写测试的情况下更新代码,并且维护您的测试要简单得多。
结帐 Mockito https://code.google.com/p/mockito/
我有两种方法。
准确定义您要测试的内容,您将确切知道需要填写哪些数据。在您的示例中,没有必要填补座位。
如果您想测试的不仅仅是 numberOfSeats,您可以使用 setUp 和 tearDown 为每个测试创建可重用的数据集。JUnit 在每次测试之前运行 setUp,之后运行 tearDown。