1
我有以下單元測試:如何測試@Valid註釋是否工作?
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = {EqualblogApplication.class})
@WebAppConfiguration
@TestPropertySource("classpath:application-test.properties")
public class PostServiceTest {
// ...
@Test(expected = ConstraintViolationException.class)
public void testInvalidTitle() {
postService.save(new Post()); // no title
}
}
在PostService
爲save
的代碼是:
public Post save(@Valid Post post) {
return postRepository.save(post);
}
Post
的類被大多數領域標有@NotNull
。
問題是:沒有驗證異常拋出。
但是,這隻發生在測試中。 使用應用程序通常運行驗證並引發異常。
注:我想自動執行(保存),而不是手動驗證,然後保存(因爲它更現實)。
dupplicated。請參閱:http://stackoverflow.com/questions/13745848/how-to-test-valid –
該解決方案只提供了一個編程方法:validator.validateProperty(object,propertyName) 我想保存一個隱式驗證 –
解決方案用'@Inject MockMvc mvc;'對我很好看? –