假设我想为这样的方法创建一个单元测试:
public Car map(CarReq request) {
Car car = new Car();
car.setPrice(carReq.getPrice());
car.setColour(carReq.getColour());
car.setType(carReq.getType());
// Other 20 lines like these
return car;
}
Run Code Online (Sandbox Code Playgroud)
我可以模拟carRequest并告诉每个方法应该返回什么。但这就像没有测试任何东西一样,因为所有方法所做的都是从carReq获取值。
我可以创建一个测试carReq对象(不带模拟),并检查是否将相同的值复制到输出Car对象中。但这是很多工作,对吗?
有没有更聪明的方法?
您要测试方法的逻辑。
因此,如果该方法将a的属性复制CarReq到Car,则应测试以下内容:
@Test
public void mapTest() {
// Given
CarReq carReq = new CarReq(10000D, ...);
// When
Car car = myClass.map(carReq);
// Then
Assert.assertEquals(car.getPrice(), carReq.getPrice());
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1872 次 |
| 最近记录: |