это мое приложение, в котором я пытаюсь запустить несколько тестовых случаев. Я предоставил трассировку стека, а затем пример кода. Дайте мне знать, что вы думаете
Тестовый класс
{"@timestamp":"2024-10-26T16:55:52.219+0530","thread":"Test worker","logger_name":"com.sysco.list.loader.JobRunner","message":"Job type cannot be null","level":"ERROR"}
{"@timestamp":"2024-10-26T16:55:52.219+0530","thread":"Test worker","logger_name":"org.springframework.web.context.support.GenericWebApplicationContext","message":"Closing org.springframework.web.context.support.GenericWebApplicationContext@de8db, started on Sat Oct 26 16:55:32 IST 2024, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@1115826f","level":"DEBUG"}
{"@timestamp":"2024-10-26T16:55:52.234+0530","thread":"Test worker","logger_name":"org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor","message":"Shutting down ExecutorService 'applicationTaskExecutor'","level":"INFO"}
{"@timestamp":"2024-10-26T16:55:52.234+0530","thread":"Test worker","logger_name":"org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean","message":"Closing JPA EntityManagerFactory for persistence unit 'default'","level":"INFO"}
{"@timestamp":"2024-10-26T16:55:52.250+0530","thread":"Test worker","logger_name":"com.zaxxer.hikari.HikariDataSource","message":"HikariPool-1 - Shutdown initiated...","level":"INFO","arg0":"HikariPool-1"}
{"@timestamp":"2024-10-26T16:55:52.282+0530","thread":"Test worker","logger_name":"com.zaxxer.hikari.HikariDataSource","message":"HikariPool-1 - Shutdown completed.","level":"INFO","arg0":"HikariPool-1"}
2024-10-26 16:55:29,199 Test worker INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.
2024-10-26 16:55:32,391 Test worker INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.
Поскольку при запуске тестовых примеров значение задания оказывается нулевым, оно закрывает ApplicationContext, и поэтому я не смог их протестировать. Как можно запускать такие тестовые примеры, передавая при этом своего рода аргументы и не закрывая контекст приложения, или есть ли способ сохранить контекст приложения открытым? Ценю ваше мнение!
это мое приложение, в котором я пытаюсь запустить несколько тестовых случаев. Я предоставил трассировку стека, а затем пример кода. Дайте мне знать, что вы думаете Тестовый класс [code]package com.list.loader.controller;
@RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @TestPropertySource(locations="classpath:application-test.properties") public class ListLoaderInfoControllerIT {
@LocalServerPort private int port;
@Test public void should_get_running_environment() { String path = "/"; given() .port(port) .contentType(ContentType.JSON) .when() .get(path ) .then() .statusCode(HttpStatus.OK.value()) .body(containsString("List Loader")); } } [/code] Трассировка стека ошибок Java [code]{"@timestamp":"2024-10-26T16:55:52.219+0530","thread":"Test worker","logger_name":"com.sysco.list.loader.JobRunner","message":"Job type cannot be null","level":"ERROR"} {"@timestamp":"2024-10-26T16:55:52.219+0530","thread":"Test worker","logger_name":"org.springframework.web.context.support.GenericWebApplicationContext","message":"Closing org.springframework.web.context.support.GenericWebApplicationContext@de8db, started on Sat Oct 26 16:55:32 IST 2024, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@1115826f","level":"DEBUG"} {"@timestamp":"2024-10-26T16:55:52.234+0530","thread":"Test worker","logger_name":"org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor","message":"Shutting down ExecutorService 'applicationTaskExecutor'","level":"INFO"} {"@timestamp":"2024-10-26T16:55:52.234+0530","thread":"Test worker","logger_name":"org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean","message":"Closing JPA EntityManagerFactory for persistence unit 'default'","level":"INFO"} {"@timestamp":"2024-10-26T16:55:52.250+0530","thread":"Test worker","logger_name":"com.zaxxer.hikari.HikariDataSource","message":"HikariPool-1 - Shutdown initiated...","level":"INFO","arg0":"HikariPool-1"} {"@timestamp":"2024-10-26T16:55:52.282+0530","thread":"Test worker","logger_name":"com.zaxxer.hikari.HikariDataSource","message":"HikariPool-1 - Shutdown completed.","level":"INFO","arg0":"HikariPool-1"} 2024-10-26 16:55:29,199 Test worker INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory. 2024-10-26 16:55:32,391 Test worker INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.
[/code] Поскольку при запуске тестовых примеров значение задания оказывается нулевым, оно закрывает ApplicationContext, и поэтому я не смог их протестировать. Как можно запускать такие тестовые примеры, передавая при этом своего рода аргументы и не закрывая контекст приложения, или есть ли способ сохранить контекст приложения открытым? Ценю ваше мнение!