Обеспечение BeanFactory Bean в тестовых случаях TestNg с использованием весенней загрузки - PullRequest
0 голосов
/ 01 ноября 2018

Я использую TestNg в весенней загрузке для тестовых случаев. Один из объектов в моем тестовом примере имеет зависимость BeanFactory Bean.

@Test
void testMe(){
Obj obj = new Obj();
}

выше - это тестовый пример, а ниже - класс Obj

class Obj{

@Autowired
BeanFactory beanFactory;
//rest of the code

}

когда я запускаю тестовый пример выше, это дает мне исключение нулевого указателя, любой знает, как это решить.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Я решил, используя приведенный ниже код, добавив отсутствующую зависимость в @ContextConfiguration и запустив ее с помощью @ SpringBootTest

@SpringBootTest
@ContextConfiguration(classes = {ContextProvider.class, ApplicationContext.class, TraceAutoConfiguration.class})
public class DabekCostServiceTest extends AbstractTestNGSpringContextTests {
0 голосов
/ 01 ноября 2018

Чтобы внедрить / автоматически связать контекст Spring, вам нужно загрузить контекст Spring в Test Class, например, с настройками XML

@Test
@ContextConfiguration(locations = { "classpath:spring-test-config.xml" })

Также вы должны класс должен расширять соответствующий класс, как AbstractTestNGSpringContextTests

Абстрактный базовый тестовый класс, который интегрирует Spring TestContext Framework с явной поддержкой тестирования ApplicationContext в среде TestNG.

Для Пример :

@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
 public class SampleTestNGApplicationTests extends AbstractTestNGSpringContextTests {
...