![](/img/trans.png)
[英]Spring Boot properties in 'application.yml' not loading from JUnit Test
[英]How to read variable from application.yml with spring boot and use it in kotlin test
src
main
java
config
DataSourceProperties.java
resources
application.yml
test
kotlin
service
AuthService.kt
我有java configure类
@Configuration @ConfigurationProperties(prefix = "datasource") class DataSourceProperties { private String apiUrl; public String getApiUrl() { return apiUrl; } public void setUrl(String apiUrl) { this.apiUrl = apiUrl; }
我有科特林服务班
@RunWith(SpringRunner::class) @SpringBootApplication @Profile("dev") class AuthService { @Value("\\${datasource.apiUrl}") lateinit var apiUrl: String fun registerUser(user: RequestUser): ErrorResponse { return given() .log().all() .body(user) .contentType(ContentType.JSON) .`when`().post("$apiUrl/security") .then().statusCode(StatusCodes.BAD_REQUEST) .extract() .`as`(ErrorResponse::class.java) } }
当我在测试中执行请求时,我得到
kotlin.UninitializedPropertyAccessException:lateinit属性apiUrl尚未初始化
那就是为什么我有疑问? 如何在测试类中使用yml文件中的属性。 也许我错过了另一个配置,也许我对注解不正确,或者它取决于配置文件,yml和测试文件在结构中的位置。 请给我一个提示。
尝试简单地设置,例如应该提供帮助- @TestPropertySource(properties = ["spring.mail.properties.mail.smtp.auth: false", "spring.mail.properties.mail.smtp.starttls.enable: false"])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.