如何解决jhipster Java测试失败-应用程序属性
我已经生成了一个jhipster单片应用程序。我创建了一个类来与AWS S3连接并在那里上传文件。我在.yml文件中定义了属性。在这里一切正常。
当我尝试运行提供的测试时,大多数测试都失败,并显示以下错误:
原因:org.springframework.beans.factory.BeanCreationException:创建名称为“ s3AutoConfig”的bean时出错:自动连接依赖项的注入失败;嵌套异常是java.lang.IllegalArgumentException:无法解析值“ $ {aws.endpoint.url}”中的占位符'aws.endpoint.url'
S3AutoConfig是使用属性的类。 我检查了jhipster的文档和一些帖子,例如以下内容: Adding applicationproperties in Jhipster
其中提到您应该在ApplicationProperties类中提供属性(似乎有点多余)。
我也在java类中定义了属性,但是测试仍然失败,并出现上述相同错误。
我应该如何定义属性,以便它们被测试选中?正如某些帖子所建议的,是否有必要在java类中也提供它们?
解决方法
您的实现无法正常工作,因为您正在Aws
中定义ApplicationProperties
类,这意味着您的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
中定义这些属性
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。