我正在运行微服务架构,但在运行某些集成测试时遇到了问题。 在Mac上针对MySQL数据库运行JHipster 5.0.2。 LogsResourceIntTest是一个示例(由Jhipster生成,未进行任何修改)。 以下代码因NP而中止
this.secretKey = encoder.encodeToString(jHipsterProperties.getSecurity().getAuthentication().getJwt()
.getSecret().getBytes(StandardCharsets.UTF_8));
我已调试它并设置了超时属性,但令牌(秘密)为空。 令牌是在我的/src/test/resource/application-test.yml文件中设置的。 从cmd行运行测试也会中止NP。运行测试如下:
./mvnw clean install -Dprofile=test
有关如何解决此问题的任何指针
答案 0 :(得分:1)
JHipster中没有这样的“测试”配置文件,因此不能“由JHipster进行修改而没有生成”。使用不存在的配置文件,可以从默认配置文件中获取属性。
由于测试类路径,因此从src/test/resources/config/application.yml
中读取了测试属性。
答案 1 :(得分:0)
在yml文件中发现了问题。 使用我的应用程序的某些属性更新了文件,并且出现格式错误。 我在其他SpringBoot应用程序上使用了“测试”配置文件,以帮助确定必须包含哪些文件进行配置,并将其全部还原为yml中的默认和固定错误。 将介绍识别特定配置文件的另一种方法。单元测试需要一些Spring Bean,而集成测试则需要全部(大多数)。 以前使用过maven surefire和failsafe对其进行拆分。我正在集成到Google Pub / Sub,在进行单元测试时不需要所有配置。
谢谢您的帮助。