单元测试未初始化
问题描述:
在我的应用程序,我有以下的依存关系:单元测试未初始化
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>1.5.2.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
我在下面的类中的方法,我需要测试:
@Service
public class DataExtractorService {
@Autowired
LinksWriterService writer;
Kinkester kinkester;
public DataExtractorService(){
kinkester=new Kinkester();
}
public Kinkester extractor(String rowData){
String pattern = "(\\d+)(\\D*)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(rowData);
if (m.find()) {
System.out.println("Found value: " + m.group(0));
System.out.println("Found value: " + m.group(1));
}else
System.out.println("NO MATCH");
kinkester.setAge(Integer.parseInt(m.group(0)));
kinkester.setRole(m.group(1));
return kinkester;
}
}
,然后测试等级是:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SeleniumApplication.class)
@WebAppConfiguration
public class DataExtractorTest {
@Autowired
DataExtractorService dataExtractorService;
@Test
public void extractor(){
Kinkester kinkester = dataExtractorService.extractor("45M");
System.out.println(kinkester.getAge());
//assertEquals(kinkester.getAge(),45);
}
}
但不幸的是,测试不运行。它
Initialization Error (Runner: Junit 4)
我曾尝试下面的代码抱怨,但仍然没有答案了:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {SeleniumApplication.class})
答
你的测试类应该被注释:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = SeleniumApplication.class)
这JUnit运行,需要JUnit版本> = 4.12。您对spring-boot-starter-test
依存度将在传递性带来的JUnit所需的版本,所以你可以删除JUnit的依赖。 JUnit的4.11你explcit依赖性与春季亚军的JUnit的预期冲突。
它不会做任何改变 – Salman
您已删除您的JUnit的依赖性:4.11? – glytching
谢谢。那么'spring-boot-starter-test'包含'junit'?真正? – Salman