jhipster java 测试失败 - 应用程序属性
jhipster java tests failing - application properties
我生成了一个 jhipster 单体应用。我创建了一个 class 来连接 AWS S3 并在那里上传文件。我在 .yml 文件中定义了属性。这里一切正常。
当我尝试 运行 提供的测试时,大多数测试都失败并出现以下错误:
原因:org.springframework.beans.factory.BeanCreationException:创建名称为 's3AutoConfig' 的 bean 时出错:注入自动装配依赖项失败;嵌套异常是 java.lang.IllegalArgumentException:无法解析值“${aws.endpoint.url}”中的占位符 'aws.endpoint.url'
S3AutoConfig 是使用属性的class。
我检查了 jhipster 的文档和几篇文章,如下所示:
Adding applicationproperties in Jhipster
其中提到您应该在 ApplicationProperties class 中提供属性(似乎有点多余)。
我也在 java class 中定义了属性,但测试仍然失败并出现与上述相同的错误。
我应该如何定义属性,以便它们被测试选中?是否有必要像一些帖子建议的那样在 java class 中也提供它们?
您的实施无法工作,因为您在 ApplicationProperties
中定义 Aws
class,这意味着您的 AWS 属性将以 application
为前缀,例如 application.aws.endpoint.url
与您的 application*.yml
结构不匹配,这就是您收到此错误的原因。
您应该将 Aws
class 及其内部 class 提取到它自己的文件 (Aws.java) 中并使用前缀“aws”。
此外,它最好命名为 AwsProperties
.
@ConfigurationProperties(prefix = "aws", ignoreUnknownFields = false)
public class Aws {
关于测试的第二点是它们使用的 class 路径与主路径 class 不同,因此您应该确保也在 src/test/resources/config/application.yml
[=19 中定义这些属性=]
我生成了一个 jhipster 单体应用。我创建了一个 class 来连接 AWS S3 并在那里上传文件。我在 .yml 文件中定义了属性。这里一切正常。
当我尝试 运行 提供的测试时,大多数测试都失败并出现以下错误:
原因:org.springframework.beans.factory.BeanCreationException:创建名称为 's3AutoConfig' 的 bean 时出错:注入自动装配依赖项失败;嵌套异常是 java.lang.IllegalArgumentException:无法解析值“${aws.endpoint.url}”中的占位符 'aws.endpoint.url'
S3AutoConfig 是使用属性的class。 我检查了 jhipster 的文档和几篇文章,如下所示: Adding applicationproperties in Jhipster
其中提到您应该在 ApplicationProperties class 中提供属性(似乎有点多余)。
我也在 java class 中定义了属性,但测试仍然失败并出现与上述相同的错误。
我应该如何定义属性,以便它们被测试选中?是否有必要像一些帖子建议的那样在 java class 中也提供它们?
您的实施无法工作,因为您在 ApplicationProperties
中定义 Aws
class,这意味着您的 AWS 属性将以 application
为前缀,例如 application.aws.endpoint.url
与您的 application*.yml
结构不匹配,这就是您收到此错误的原因。
您应该将 Aws
class 及其内部 class 提取到它自己的文件 (Aws.java) 中并使用前缀“aws”。
此外,它最好命名为 AwsProperties
.
@ConfigurationProperties(prefix = "aws", ignoreUnknownFields = false)
public class Aws {
关于测试的第二点是它们使用的 class 路径与主路径 class 不同,因此您应该确保也在 src/test/resources/config/application.yml
[=19 中定义这些属性=]