繁体   English   中英

jhipster java 测试失败 - 应用程序属性

[英]jhipster java tests failing - application properties

我生成了一个 jhipster 单体应用程序。 我创建了一个类来连接 AWS S3 并在那里上传文件。 我在 .yml 文件中定义了属性。 这里一切正常。

当我尝试运行提供的测试时,大多数测试都失败并出现以下错误:

引起:org.springframework.beans.factory.BeanCreationException:创建名为“s3AutoConfig”的bean时出错:自动装配依赖项的注入失败; 嵌套异常是 java.lang.IllegalArgumentException:无法解析值“${aws.endpoint.url}”中的占位符“aws.endpoint.url”

S3AutoConfig 是使用属性的类。 我检查了 jhipster 的文档和几篇文章,如下所示: 在 Jhipster 中添加应用程序属性

其中提到您应该在 ApplicationProperties 类中提供属性(似乎有点多余)。

我也在 java 类中定义了属性,但测试仍然失败,并出现上述相同的错误。

我应该如何定义属性,以便通过测试获取它们? 是否有必要像某些帖子建议的那样在 java 类中也提供它们?

特性

您的实现无法工作,因为您在ApplicationProperties中定义了Aws类,这意味着您的 AWS 属性将以application为前缀,因此例如application.aws.endpoint.url与您的application*.yml结构不匹配,这就是您得到的原因这个错误。

您应该将Aws类及其内部类提取到它自己的文件 (Aws.java) 中并使用前缀“aws”。 此外,它可能更好地命名为AwsProperties

@ConfigurationProperties(prefix = "aws", ignoreUnknownFields = false)
public class Aws {

然后关于测试的第二点是它们使用与主类不同的类路径,因此您应该确保也在src/test/resources/config/application.yml定义这些属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM