[英]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.