![](/img/trans.png)
[英]parameterized test constructor of junit java error message: Test class should have exactly one public zero-argument constructor
[英]Spring Boot org.junit.runners.model.InvalidTestClassError: Invalid test class 1. Test class should have exactly one public zero-argument constructor
我在 Spring 引導應用程序中通過 JUnit 運行一些測試時遇到問題。
當我嘗試運行 repositorytest 的任何測試時,我遇到了如下所示的問題。
org.junit.runners.model.InvalidTestClassError: Invalid test class 1. Test class should have exactly one public zero-argument constructor
我還定義了 @Runwith 注釋,但它並沒有幫助我解決我的問題。
import lombok.RequiredArgsConstructor;
import org.junit.Test;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
@DataJpaTest
@RequiredArgsConstructor
public class CategoryRepositoryTests {
private final CategoryRepository categoryRepository;
@Test
public void givenCategoryObject_whenSave_thenReturnSavedCategory() {
// given - precondition or setup
Category category = Category.builder().name(CategoryType.COMIC.getValue()).build();
// when - action or the behaviour that we are going test
Category savedCategory = categoryRepository.save(category);
// then
assertThat(savedCategory.getId()).isGreaterThan(0);
assertThat(savedCategory).isNotNull();
}
}
我該如何解決?
在我定義@RunWith(SpringRunner.class)
之后,問題就消失了。
這是下面顯示的解決方案。
@DataJpaTest
@RunWith(SpringRunner.class)
public class CategoryRepositoryTests {
@Autowired
private CategoryRepository categoryRepository;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.