Я пишу модульное тестирование для статического метода полезности:тесты Android написания блока для служебных методов
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» от Google, почему вы его тестируете? Я только проверяю код, который я могу активно изменять/рефакторировать и полагаться при использовании сторонних библиотек для соответствующего разработчика, чтобы самим протестировать их. Единственное отклонение - это когда я сам обнаруживаю ошибки в библиотеке и хочу это доказать. – Smutje
Правильный способ - сделать новый Gson(). ToJson (item); 'потому что, когда у вас больше свойств в вашем' JokeItem', вам, вероятно, потребуется изменить ur custom i.e 'required1' – Smit