gpt4 book ai didi

java - 播放 2.4 Messages 对象抛出 NullPointerException

转载 作者:搜寻专家 更新时间:2023-11-01 03:35:05 25 4
gpt4 key购买 nike

此问题仅在测试模式下发生。基本上我在一个正在测试的类中调用了 Messages.get()

Messages.get("api.parser.missing.id")

这存在于

public long getParserId() throws UnknownParserIdException {
if (parserEntity == null || parserEntity.parserId == 0) {
throw new UnknownParserIdException(Messages.get("api.parser.missing.id"));
}
return parserEntity.parserId;
}

在我的测试中,我有以下内容

@Test
public void testSaveAndGetParserId() {

try {
addParserService.attachAppId(appId);
addParserService.attachParserJson(jsonToAttach);
addParserService.transformAttachedJson();
addParserService.saveParserEntity();
Long parserId = addParserService.getParserId();
boolean isPositive = parserId > 0;
assertTrue(isPositive);
ParserRepository parserRepository = new ParserRepository();
parserRepository.deleteParserById(parserId);
}
catch (MalformedParserException | UnknownAppIdException | UnknownParserIdException e) {

assertTrue(false);
}
}

现在,每当我运行这个测试时,我都会得到以下 NPE

[error] Test services.AddParserServiceTest.testTransformNoJsonAttached failed: java.lang.NullPointerException: null, took 0.09 sec
[error] at play.api.i18n.DefaultMessagesApi.preferred(Messages.scala:482)
[error] at play.api.i18n.DefaultMessagesApi.preferred(Messages.scala:488)
[error] at play.i18n.MessagesApi.preferred(MessagesApi.java:128)
[error] at play.mvc.Http$Context.messages(Http.java:173)
[error] at play.mvc.Http$Context.lang(Http.java:165)
[error] at play.i18n.Messages.getLang(Messages.java:29)
[error] at play.i18n.Messages.get(Messages.java:109)
[error] at services.impl.AddParserService.transformAttachedJson(AddParserService.java:31)
[error] at services.AddParserServiceTest.testTransformNoJsonAttached(AddParserServiceTest.java:57)

我有其他类和测试,它们不属于我的服务包,但可以很好地使用 il8n 类。

我检查过的东西

  • 调用的消息确实存在于messages中
  • 消息文件在 application.conf 中列出(包含在 application.test.conf 中)
  • 在我的服务类中删除对 Messages.get() 的调用修复了 NPE,但我显然不想这样做。

最佳答案

如果它仅在测试您的应用程序时发生,则可能是因为您的资源文件无法在您的测试文件夹中访问。确保您要测试的文件在您的测试文件夹中。

相关帖子:play2 does not resolve messages when run from a unit test

关于java - 播放 2.4 Messages 对象抛出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34438918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com