Spring 使用StaticMessageSource和空区域设置进行单元测试

Spring 使用StaticMessageSource和空区域设置进行单元测试,spring,unit-testing,Spring,Unit Testing,我正在对一个使用messageSource的服务进行单元测试,并传入一个用于模拟对象的。staticMessageSource允许使用addMessage(字符串代码、区域设置、字符串消息)以编程方式创建消息。 Locale是此处必需的参数(不能为null)。但是,对于来自真实messageSource的消息,我使用空语言环境,这意味着我不能将staticMessageSource用作模拟消息源。有人能想出一个解决这个问题的办法吗?我不想为所有消息设置区域设置。您可以考虑滚动自己的Message

我正在对一个使用messageSource的服务进行单元测试,并传入一个用于模拟对象的。staticMessageSource允许使用addMessage(字符串代码、区域设置、字符串消息)以编程方式创建消息。
Locale是此处必需的参数(不能为null)。但是,对于来自真实messageSource的消息,我使用空语言环境,这意味着我不能将staticMessageSource用作模拟消息源。有人能想出一个解决这个问题的办法吗?我不想为所有消息设置区域设置。

您可以考虑滚动自己的MessageSource实现。该接口只公开了三个方法,并实现了一个
addMessage
方法,该方法将预解析的消息存储在映射中,应该足够简单。

对区域设置进行子类化,并为所有内容或希望返回的任何内容返回null。只是尝试了一下,但区域设置是最终的,无法进行子类化