簡體   English   中英

Spring Boot org.junit.runners.model.InvalidTestClassError: Invalid test class 1. 測試 class 應該只有一個公共零參數構造函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM