Я реализовал простой проект с использованием Spring и Maven, мой проект содержит интерфейс и 3 класса и файл pom.xml
Интерфейс: CompactDisc.java
3 класса: SgtPeppers.java
который реализует интерфейс CompactDisc
CDPlayersConfig.java
- пустой класс и содержит аннотации автоматического сканирования
CDPlayersTest.java
- тестовый класс для проверки работоспособности контейнера пружины.
Моя проблема связана с @RunWith (SpringJUnit4ClassRunner.class) и @ContextConfiguration (classes = CDPlayersConfig.class) , Eclipse предлагает это предложение для первой аннотации Класс не может быть разрешен для типа и он не понимает вторую аннотацию.
Вы найдете здесь код:
CompactDisc.java
package soundsystem;
public interface CompactDisc {
void play();
}
SgtPeppers.java
package soundsystem;
import org.springframework.stereotype.Component;
@Component
public class SgtPeppers implements CompactDisc{
private String title = "Sgt. Pepper's Lonely Hearts Club Band";
private String artist = "The Beatles";
public void play() {
System.out.println("Playing " + title + "by"+ artist);
}
}
CDPlayersConfig.java
package soundsystem;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan
public class CDPlayersConfig {
}
CDPlayerTest.java
package soundsystem;
import static org.junit.Assert.assertNotNull;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.jta.SpringJtaSynchronizationAdapter;
@RunWith(SpringJUnit4ClassRunner.class)//Here is my problem
@ContextConfiguration(classes=CDPlayersConfig.class)//Here is my problem
public class CDPlayerTest {
@Autowired
private CompactDisc cd;
@Test
public void cdShouldNotBeNull() {
assertNotNull(cd);
}
}
Зависимости в файле pom
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.0.5.RELEASE</version>
<scope>test</scope>
</dependency>