#java #spring-boot #junit #junit5
Вопрос:
У меня есть приведенный ниже метод, но я не могу создать тестовый случай для этого. Не могли бы вы, пожалуйста, помочь ?
Я не хочу использовать Насмешки.
class A {
public void setValue(PersonInfo a, Person b){
if (a.getFullname() == null) {
b.setFullName(a.getFirstName());
}
}
}
Я хочу посмотреть, задаю ли я значение для PersonInfo.firstname
того, устанавливается ли оно как полное имя Человека или нет.
Попробовал нижеприведенный подход, но он равен нулю
class TestClasss{
@Autowired
A a;
public void TestValue(){
Person p = new Person();
PersonInfo pi= new PersonInfo();
pi.setFirstName("TEST");
a.setValue(pi,p);
assertEqual("TEST",p.getFullName());
}
Ответ №1:
Вы можете сделать что-то вроде приведенного ниже.
@Test
public void testA(){
A ao = new A();
PersonInfo a = new PersonInfo();
a.setFirstName("Name");
Person b = new Person();
//call you method here
ao.setValue(a, b);
// As values of b object changed in the method so it will be reflected after
// method call also
// simple assertion... based on your requirement update this assert statement
Assert.equals(a.getFirstName(), b.getFullName());
}
Я также попробовал на том же примере .. Я получаю ценности.
Я прикрепил один скриншот, который вы также можете проверить.
Комментарии:
1. Я также придерживался того же подхода, но получил значение null
2. @raj, пожалуйста, проверьте скриншот. Я добавил из своей локальной системы.
Ответ №2:
Для этого я бы написал пару тестов:
- Тест 1: Создайте a
PersonInfo
сnull
полным именем и aPerson
с известным полным именем, отличным отPersonInfo
имени. Утверждайте, чтоPerson
полное имя равноPersonInfo
имени. - Тест 2: Создайте
PersonInfo
человека с ненулевым полным именем и Человеком с известным полным именем, отличным отPersonInfo
имени. СохранитеPerson
полное имя в переменной. Утверждайте, чтоPerson
полное имя отличается отPersonInfo
имени и равно значению переменной, в которой вы его сохранили.
Комментарии:
1. проблема в том, как вы получите доступ к значениям из этих двух объектов ? Я получаю нулевые значения, пытаясь сопоставить значение с ожидаемым и фактическим
2. Ну, а как вы создали эти объекты? Вы установили значения для их свойств? Код, который вы опубликовали, этого не показывает.
3. Я добавил эту часть. пожалуйста, обновите.
4. Разместите
Person
PersonInfo
классы и, нам нужно знать, что делают их конструкторы.5. у них есть PersonInfo по умолчанию, а у Person есть конструктор по умолчанию, который создает два списка массивов