Java Windows和Linux之间的Weblogic Xquery异常差异

Java Windows和Linux之间的Weblogic Xquery异常差异,java,exception,weblogic,xquery,osb,Java,Exception,Weblogic,Xquery,Osb,首先是设置:我目前正在开发一个测试框架,用于测试打算在OSB中运行的XQuery转换 该框架是用Java编写的,并使用原始OSB JAR来执行转换 问题是,在获取错误消息时,Linux(CI/CD)和Windows(本地)的结果不同 Linux上的错误消息: weblogic.xml.query.exceptions.XQueryDynamicException:{err}XP0021:“--”:无法强制转换为{}日期:错误:日期:无效的日期值:-- Windows上的错误消息: weblogi

首先是设置:我目前正在开发一个测试框架,用于测试打算在OSB中运行的XQuery转换

该框架是用Java编写的,并使用原始OSB JAR来执行转换

问题是,在获取错误消息时,Linux(CI/CD)和Windows(本地)的结果不同

Linux上的错误消息:

weblogic.xml.query.exceptions.XQueryDynamicException:{err}XP0021:“--”:无法强制转换为{}日期:错误:日期:无效的日期值:--

Windows上的错误消息:

weblogic.xml.query.exceptions.XQueryDynamicException:{err}XP0021:[PX][“--”:无法强制转换为{}日期:错误:日期:无效的日期值:--ä]


正如您在Windows上看到的,错误消息使用了完全不同的格式。现在我想知道是否有一些设置可以选择格式,或者a是否必须使用不同的方法在Windows和Linux上解析消息。

在测试框架中解析错误消息真的明智吗?这似乎是导致大量虚假测试失败和花费大量精力使测试与软件中的更改保持同步的原因。@MichaelKay一个主要要求是支持负面测试用例。因此,我必须检查预期的错误消息是否与给定的消息相同。或者我必须冒着误报的风险,只是寻找一个一般性的错误。我们这样做的方式是捕获异常并将错误代码与预期的错误进行比较,而不是解析为人类消费而设计的错误消息。或者,只需对消息进行部分匹配,例如
contains('XP0021')
。我查看了消息的详细程度,以便正确识别。感谢您的建议错误消息实际上是相同的,而不是完全不同的?你可以很容易地用一个模式来解决这个问题。抽象示例:“abc.package.ExceptionErrorMessage”在测试框架中解析错误消息真的明智吗?这似乎是导致大量虚假测试失败和花费大量精力使测试与软件中的更改保持同步的原因。@MichaelKay一个主要要求是支持负面测试用例。因此,我必须检查预期的错误消息是否与给定的消息相同。或者我必须冒着误报的风险,只是寻找一个一般性的错误。我们这样做的方式是捕获异常并将错误代码与预期的错误进行比较,而不是解析为人类消费而设计的错误消息。或者,只需对消息进行部分匹配,例如
contains('XP0021')
。我查看了消息的详细程度,以便正确识别。感谢您的建议错误消息实际上是相同的,而不是完全不同的?你可以很容易地用一个模式来解决这个问题。抽象示例:“abc.package.Exceptionerror消息”