@RunWith
& @SpringBootTest
を使用してコントローラをテストしようとしています。スプリングブート1.5.2コントローラレイヤーテスト
コントローラ
@RestController
public class HomeController {
@RequestMapping(value = "/home", method = RequestMethod.GET)
public String get(HttpServletResponse response) throws IOException {
return "Hello World";
}
}
テストクラス
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
@WebAppConfiguration
public class SampleTestNGApplicationTests{
@Autowired
private TestRestTemplate restTemplate;
@Test
public void testHome() throws Exception {
ResponseEntity<String> entity = this.restTemplate.getForEntity("/home", String.class);
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(entity.getBody()).isEqualTo("Hello World");
}
}
今@RunWith
& @SpringBootTest
見つからない注釈を
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
をテストするための依存関係は、私はそれのために任意のライブラリ足りませんか?私は春のブートで非常に変化があることを知っている1.5.2は、春のブート1.4.2に比べています。
質問の上
更新が解決されました、実際に私はテストのための新しいモジュールを作成し、コントローラがdifferntモジュールです。私はテストモジュールのメイン→src-> javaの下にテストコードを書いています。spring-boot-starter-test
依存関係のスコープはtest
になりますので、<scope>test</scope>
を削除しました。@RunWith
& @SpringBootTest
アノテーションを取得できます。
今、私はエラー@ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition)
エラーログ
=========================
AUTO-CONFIGURATION REPORT
=========================
Positive matches:
-----------------
DispatcherServletAutoConfiguration matched:
- @ConditionalOnClass found required class 'org.springframework.web.servlet.DispatcherServlet'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)
- @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition)
DispatcherServletAutoConfiguration.DispatcherServletConfiguration matched:
- @ConditionalOnClass found required class 'javax.servlet.ServletRegistration'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)
- Default DispatcherServlet did not find dispatcher servlet beans (DispatcherServletAutoConfiguration.DefaultDispatcherServletCondition)
jarが壊れています。誤ったインポートです。伝えるのは難しい。 –