После обновления с Java 11 до Java 17, с Junit 4 до Junit5 и обновления зависимостей моих проектов для обеспечения совместимости некоторые из моих модульных тестов завершаются неудачей, поскольку экземпляр моего класса AuthenticationProperties не создается со значениями. Он извлекается из файла свойств с помощью @ConfigurationProperties(prefix = "dealer-imagery-api.authentication") и отлично работает при полном возврате к старой настройке. У него есть вложенный класс User, который должен использовать эти свойства. Странно то, что когда я запускаю цель теста mvn через intellij, они терпят неудачу, но запуская их, щелкая пакет правой кнопкой мыши и запуская тесты (после редактирования конфигурации для использования опции VM для расшифровки паролей), они проходят. Может ли кто-нибудь помочь мне определить основную причину?
У меня есть еще один модуль, который я обновил до Java 17 и Junit 5 и после внесения необходимых изменений, в основном аннотаций junit, и запуска тестов с использованием Цель теста mvn через intellij они проходят. По какой-то причине мои свойства не используются в моих тестах. У меня есть файл свойств в main/java/resources, и я ожидал, что mvn будет использовать этот файл свойств при запуске тестов. Я попытался скопировать файл свойств в test/java/resources, но это не сработало. Раньше моим тестам не обязательно было иметь этот файл при запуске тестов.
package com.gm.gsmc.dealerimagery.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;
import java.util.StringJoiner;
@Configuration
@ConfigurationProperties(prefix = "dealer-imagery-api.authentication")
public class AuthenticationProperties {
private List users = new ArrayList();
public List getUsers() {
return users;
}
public void setUsers(List users) {
this.users = users;
}
@Override
public String toString() {
return new StringJoiner(", ", AuthenticationProperties.class.getSimpleName() + "[", "]")
.add("users=" + users)
.toString();
}
public static class User {
private String username;
private String password;
private List authorities = new ArrayList();
private String owner;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public List getAuthorities() {
return authorities;
}
public void setAuthorities(List authorities) {
this.authorities = authorities;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
@Override
public String toString() {
return new StringJoiner(", ", User.class.getSimpleName() + "[", "]")
.add("username='" + username + "'")
.add("password='********'")
.add("authorities=" + authorities)
.add("owner='" + owner + "'")
.toString();
}
}
}
package com.gm.gsmc.dealerimagery.config;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import java.util.ArrayList;
import java.util.List;
public class AuthenticationPropertiesTest {
private AuthenticationProperties instance;
private AuthenticationProperties.User user;
@BeforeEach
public void setUp() {
instance = new AuthenticationProperties();
user = new AuthenticationProperties.User();
ArrayList users = new ArrayList();
users.add(user);
instance.setUsers(users);
}
@Test
public void testSetGetUsers() {
List users = new ArrayList();
List authorities = new ArrayList();
authorities.add("user");
user.setAuthorities(authorities);
users.add(user);
instance.setUsers(users);
Assertions.assertEquals(users, instance.getUsers(), "Invalid property [users]");
}
@Test
public void testToString() {
instance.toString();
}
@Test
public void testSetGetUsername() {
user.setUsername("username");
Assertions.assertEquals("username", user.getUsername(), "Invalid property [username]");
}
@Test
public void testSetGetPassword() {
user.setPassword("password");
Assertions.assertEquals("password", user.getPassword(), "Invalid property [password]");
}
@Test
public void testSetGetAuthorities() {
List authorities = new ArrayList();
authorities.add("user");
user.setAuthorities(authorities);
Assertions.assertEquals(authorities, user.getAuthorities(), "Invalid property [authorities]");
}
@Test
public void testSetGetOwner() {
user.setOwner("owner");
Assertions.assertEquals("owner", user.getOwner(), "Invalid property [owner]");
}
@Test
public void testUserToString() {
user.toString();
}
}
Failed tests: com.gm.gsmc.dealerimagery.config.AuthenticationPropertiesTest.testSetGetAuthorities(): Cannot invoke "com.gm.gsmc.dealerimagery.config.AuthenticationProperties$User.setAuthorities(java.util.List)" because "this.user" is null
com.gm.gsmc.dealerimagery.config.AuthenticationPropertiesTest.testSetGetUsername(): Cannot invoke "com.gm.gsmc.dealerimagery.config.AuthenticationProperties$User.setUsername(String)" because "this.user" is null
com.gm.gsmc.dealerimagery.config.AuthenticationPropertiesTest.testSetGetPassword(): Cannot invoke "com.gm.gsmc.dealerimagery.config.AuthenticationProperties$User.setPassword(String)" because "this.user" is null
com.gm.gsmc.dealerimagery.config.AuthenticationPropertiesTest.testUserToString(): Cannot invoke "com.gm.gsmc.dealerimagery.config.AuthenticationProperties$User.toString()" because "this.user" is null
Подробнее здесь: https://stackoverflow.com/questions/791 ... ntiation-a
Модульные тесты больше не извлекаются из файла свойств для создания экземпляра объекта и приводят к появлению нулевых ук ⇐ JAVA
Программисты JAVA общаются здесь
1731431186
Anonymous
После обновления с Java 11 до Java 17, с Junit 4 до Junit5 и обновления зависимостей моих проектов для обеспечения совместимости некоторые из моих модульных тестов завершаются неудачей, поскольку экземпляр моего класса AuthenticationProperties не создается со значениями. Он извлекается из файла свойств с помощью @ConfigurationProperties(prefix = "dealer-imagery-api.authentication") и отлично работает при полном возврате к старой настройке. У него есть вложенный класс User, который должен использовать эти свойства. Странно то, что когда я запускаю цель теста mvn через intellij, они терпят неудачу, но запуская их, щелкая пакет правой кнопкой мыши и запуская тесты (после редактирования конфигурации для использования опции VM для расшифровки паролей), они проходят. Может ли кто-нибудь помочь мне определить основную причину?
У меня есть еще один модуль, который я обновил до Java 17 и Junit 5 и после внесения необходимых изменений, в основном аннотаций junit, и запуска тестов с использованием Цель теста mvn через intellij они проходят. По какой-то причине мои свойства не используются в моих тестах. У меня есть файл свойств в main/java/resources, и я ожидал, что mvn будет использовать этот файл свойств при запуске тестов. Я попытался скопировать файл свойств в test/java/resources, но это не сработало. Раньше моим тестам не обязательно было иметь этот файл при запуске тестов.
package com.gm.gsmc.dealerimagery.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;
import java.util.StringJoiner;
@Configuration
@ConfigurationProperties(prefix = "dealer-imagery-api.authentication")
public class AuthenticationProperties {
private List users = new ArrayList();
public List getUsers() {
return users;
}
public void setUsers(List users) {
this.users = users;
}
@Override
public String toString() {
return new StringJoiner(", ", AuthenticationProperties.class.getSimpleName() + "[", "]")
.add("users=" + users)
.toString();
}
public static class User {
private String username;
private String password;
private List authorities = new ArrayList();
private String owner;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public List getAuthorities() {
return authorities;
}
public void setAuthorities(List authorities) {
this.authorities = authorities;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
@Override
public String toString() {
return new StringJoiner(", ", User.class.getSimpleName() + "[", "]")
.add("username='" + username + "'")
.add("password='********'")
.add("authorities=" + authorities)
.add("owner='" + owner + "'")
.toString();
}
}
}
package com.gm.gsmc.dealerimagery.config;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import java.util.ArrayList;
import java.util.List;
public class AuthenticationPropertiesTest {
private AuthenticationProperties instance;
private AuthenticationProperties.User user;
@BeforeEach
public void setUp() {
instance = new AuthenticationProperties();
user = new AuthenticationProperties.User();
ArrayList users = new ArrayList();
users.add(user);
instance.setUsers(users);
}
@Test
public void testSetGetUsers() {
List users = new ArrayList();
List authorities = new ArrayList();
authorities.add("user");
user.setAuthorities(authorities);
users.add(user);
instance.setUsers(users);
Assertions.assertEquals(users, instance.getUsers(), "Invalid property [users]");
}
@Test
public void testToString() {
instance.toString();
}
@Test
public void testSetGetUsername() {
user.setUsername("username");
Assertions.assertEquals("username", user.getUsername(), "Invalid property [username]");
}
@Test
public void testSetGetPassword() {
user.setPassword("password");
Assertions.assertEquals("password", user.getPassword(), "Invalid property [password]");
}
@Test
public void testSetGetAuthorities() {
List authorities = new ArrayList();
authorities.add("user");
user.setAuthorities(authorities);
Assertions.assertEquals(authorities, user.getAuthorities(), "Invalid property [authorities]");
}
@Test
public void testSetGetOwner() {
user.setOwner("owner");
Assertions.assertEquals("owner", user.getOwner(), "Invalid property [owner]");
}
@Test
public void testUserToString() {
user.toString();
}
}
Failed tests: com.gm.gsmc.dealerimagery.config.AuthenticationPropertiesTest.testSetGetAuthorities(): Cannot invoke "com.gm.gsmc.dealerimagery.config.AuthenticationProperties$User.setAuthorities(java.util.List)" because "this.user" is null
com.gm.gsmc.dealerimagery.config.AuthenticationPropertiesTest.testSetGetUsername(): Cannot invoke "com.gm.gsmc.dealerimagery.config.AuthenticationProperties$User.setUsername(String)" because "this.user" is null
com.gm.gsmc.dealerimagery.config.AuthenticationPropertiesTest.testSetGetPassword(): Cannot invoke "com.gm.gsmc.dealerimagery.config.AuthenticationProperties$User.setPassword(String)" because "this.user" is null
com.gm.gsmc.dealerimagery.config.AuthenticationPropertiesTest.testUserToString(): Cannot invoke "com.gm.gsmc.dealerimagery.config.AuthenticationProperties$User.toString()" because "this.user" is null
Подробнее здесь: [url]https://stackoverflow.com/questions/79181973/unit-tests-are-no-longer-pulling-from-properties-file-for-object-instantiation-a[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия