Как протестировать объект, возвращаемый методом?

#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. большое спасибо. Я использовал общедоступные переменные только для того, чтобы уменьшить размер моего примера. В моем реальном проекте я следую стандартам кодирования и использую методы получения и настройки.