我正在编写一个静态实用方法的单元测试:
我正在为一个静态实用方法编写单元测试:
public static String getString(Object object, boolean prettyPrint) {
if (object == null) {
throw new NullPointerException("Cannot pass null to Utility.getString() method");
}
Gson gson;
if (prettyPrint) {
gson = new GsonBuilder().setPrettyPrinting().create();
} else {
gson = new Gson();
}
return gson.toJson(object);
}
这是单元测试:
@Test
public void getString() throws Exception {
JokeItem item = new JokeItem("title", "joke");
String required = new Gson().toJson(item);
String actual = Utility.getString(item, false);
Assert.assertEquals(required, actual);
String required1 = "{\"joke\":\"joke\",\"title\":\"title\"}";
String actual1 = Utility.getString(item, false);
Assert.assertEquals(required1, actual1);
}
JokeItem
是一个简单的 pojo 类。我面临的问题是,我不确定我的测试用例是否正确,因为我在两个方法中基本上使用相同的方法 gson.toJson(object)
。如果能够获得一些关于测试这种函数及其方法中的缺陷和不足之处的见解,那将非常有帮助。
gson
,为什么要对它进行单元测试?我只测试我可以主动更改/重构并在使用第三方库时依赖于各自开发人员进行测试的代码。唯一的例外是当我自己发现库中的错误并想要证明它时。 - Smutjenew Gson().toJson(item);
,因为当您在JokeItem
中有更多属性时,您可能需要更改自定义即required1
。 - Smit