Рассмотрите возможность определения bean-компонента типа репозиторий в вашей конфигурации при запуске теста. - PullRequest
0 голосов
/ 27 марта 2019

Я получаю эту ошибку, когда запускаю тестирование для своего класса обслуживания, но не при запуске всего приложения.Он жалуется, потому что не может найти компонент типа CrimeRepository.Это мой тестовый класс:

@RunWith(SpringRunner.class)
@ContextConfiguration(classes = { CrimeServiceDBImpl.class, CrimeController.class, Crime.class })
@ComponentScan("com.springmiddleware")
@AutoConfigureMockMvc
@SpringBootTest
public class TestCrimeServiceDB {

    @Mock
    Connection connection;


    @Mock
    private Statement mockStatement;

    private CrimeServiceDBImpl service = new CrimeServiceDBImpl();

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
    }


    @Test // test connessione db
    public void connect() {
        try {
            Class.forName("org.postgresql.Driver");
            connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/crimesdb", "postgres", "admin");
            assertTrue(connection.getSchema().equals("public"));
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }

Это CrimeServiceDbImpl:

Service
public class CrimeServiceDBImpl implements CrimeService{

    @Autowired
    private CrimeRepository repository;

И это CrimeRepository класс:

@Repository
public interface CrimeRepository extends JpaRepository<Crime, Long>{

}

Этоосновной класс приложения:

@SpringBootApplication(scanBasePackages= "com.springmiddleware")
@ComponentScan({"com.springmiddleware"})
@EnableAutoConfiguration
@EntityScan("com.springmiddleware")
@EnableJpaRepositories("com.springmiddleware")
public class SpringMiddlewareApplication {

    public static void main(String[] args) throws IOException {


        SpringApplication.run(SpringMiddlewareApplication.class, args);
    }

}

Я сканирую все пакеты, так как это организация проекта: enter image description here

Для того, что я видел, аннотации кажутся нормальными,Я не знаю, что мне не хватает

...