Java構成で次のように定義されたメッセージソースがあります:
@Bean(name = "messageSource")
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasenames(
"/i18n/ir/kia/industry/webapp/entity",
"/i18n/ir/kia/industry/webapp/formErrors",
"/i18n/ir/kia/industry/webapp/frontend",
"/i18n/ir/kia/industry/webapp/frontendPages");
return messageSource;
}
サイトを使用している場合は正常に機能し、メッセージが正しく表示されますが、春のテストを次のように記述しようとすると:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {TestContext.class, SpringMVC.class})
@WebAppConfiguration
public abstract class AbstractTestClass {
protected MockMvc mockMvc;
@Autowired
private WebApplicationContext webApplicationContext;
@Before
public void setUp() throws Exception {
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}
}
そして、それを単純に拡張するテストクラスでは、エラーが発生しますCan't find bundle for base name /i18n/ir/kia/industry/webapp/entity
。
Tomcat を起動し、jsp ファイルでメッセージ ソースを使用する場合は問題なく動作しますが、テストする場合はうまくいきません。i18n フォルダーを WEB-INF の下に移動しようとしましたが、どちらも役に立ちませんでした。
ターゲット フォルダーは次のようになります。i18n フォルダーをターゲット リソースに追加するように言わないでください ...