2

Spring Rest Docは REST API のドキュメント化に最適だと思います。しかし、それはに基づいており、私の grails アプリ (Grails 3.0.5) でSpring MVC Test使用する方法がわかりません。Spring MVC Test

@Configurationgrails コンポーネントをテスト コンテキストにスキャンするために構成クラス (およびを使用) を使用しようとしました@ComponentScanが、何もロードされていないようです ( への http 要求を実行すると、mockmvc404 が返されました)。

また、grails コントローラーを直接構成しようとしたところ、実行時エラーが発生しました。

フィールドを自動配線できませんでした: プライベート reactor.bus.EventBus

@Integrationまた、テスト クラスに (grails から) 追加しようとしましたが、同じエラーが発生しました。

助けてください。

いくつかのコード サンプルを次に示します。私が試したのは、構成クラスまたはクラスの場所または grails コントローラーを以下のテスト クラスの ContextConfiguration に追加することでした。そして、テストクラス自体は基本的に次のspring rest docリファレンスです。

import org.junit.Before;
import org.junit.Rule;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.restdocs.RestDocumentation;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration;

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration
//TODO how to scan Grails components into the test context
public class QuestionRestSpec {
@Rule
public final RestDocumentation restDocumentation = new RestDocumentation("build/generated-snippets");
@Autowired
private WebApplicationContext context;

private MockMvc mockMvc;

@Before
public void setUp() {
    this.mockMvc = MockMvcBuilders.webAppContextSetup(context)
            .apply(documentationConfiguration(this.restDocumentation))
            .build();
}
}

構成クラス (使用しない):

@Configuration
@EnableWebMvc
@ComponentScan
public class AskConfig {
}
4

1 に答える 1