我正在进行单元测试,并且试图将线路覆盖率提高到班级的90%。该类包含许多谓词方法,这些谓词方法仅比较其某些字段,并基于此返回true或false。 我的问题是,是否应该为那些谓词方法编写单元测试。 目前,我已经编写了单元测试,它只是初始化对象并设置其字段,然后断言谓词的返回值是否正确。
例如:
public boolean isScheduled() {
return getShippingDate() != null;
}
我应该如何对其进行单元测试,单元测试方法名称应该是什么?
谢谢。
答案 0 :(得分:2)
我建议您,即使其中包含一小部分逻辑,也要为代码添加测试。
我对命名的偏好是:
方法名称+ ExpectedReturnValue +行为
例如,在您的情况下,我将其命名为
isScheduledShouldReturnTrueWhenShippingDateIsNotNull-正例 isScheduledShouldReturnTrueWhenShippingDateIsNotNull-否定情况
在存储库中遵循相同的命名约定(不一定是我建议的命名约定)。您也可以在一个测试中合并这两种情况。
请记住,测试是文档,所以可以使用详细的方法名称。
代码:
@Test
public void isScheduledShouldReturnTrueWhenGetShippingDateIsNotNull() {
ClassA classA = new ClassA();
classA.setShippingDate("date");
boolean isScheduled = classA.isScheduled();
assertTrue(isScheduled);
}
PS:理想情况下,动机永远不应该像扩大报道范围那样获得一些好的报告。重要的是测试的质量。