5

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 フォルダーをターゲット リソースに追加するように言わないでください ...

ここに画像の説明を入力

4

1 に答える 1