#unit-testing #testing #standards
#модульное тестирование #тестирование #стандарты
Вопрос:
Я начал практиковать подход TDD. Я в значительной степени новичок в модульном тестировании.
Я хотел бы знать, как протестировать некоторый объект, возвращаемый методом?
например, если у меня есть следующие классы (пожалуйста, простите меня за общедоступные переменные)
class Person {
public String firstName;
public String lastName;
public int age;
private void getFirstAndLastName(fullName) {
// some logic to split name into first name and last name
// and then assign first name and last name to data members
}
public Person(String fullName) {
getFirstAndLastName(fullName);
}
}
и класс person creator
public class PersonBuilder {
public static Person buildPerson(String fullName) {
return new Person("Sachin Tendulkar");
}
}
Я хочу протестировать вывод buildPerson()
метода PersonBuilder
класса.
Если я хочу убедиться, что первым именем объекта, возвращаемого buildPerson()
методом, является ‘Sachin’, а последним — ‘Tendulkar’, то как я должен написать тестовый код для этого?
Должен ли я проверять переменные-члены класса Person вручную, как object.FirstName.equals("Sachin")
или есть какой-либо другой лучший способ тестирования в подобной ситуации? Что
является ли это стандартным способом тестирования?
и, кстати, я использую Java и JUnit.
Пожалуйста , просветите !!!
Ответ №1:
Да, в вашем случае вы бы проверили переменные-члены.
Но вам действительно следует использовать свойства вместо общедоступных переменных. Тогда вы бы проверили свойства.
Комментарии:
1. большое спасибо. Я использовал общедоступные переменные только для того, чтобы уменьшить размер моего примера. В моем реальном проекте я следую стандартам кодирования и использую методы получения и настройки.