package com.xx.server.service;
import com.xx.server.Application;
import junit.framework.TestCase;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {Application.class})
public class XxServiceTest extends TestCase {
@Autowired
private XxDiyService xxService;
@Test
public void testXxDeploy() {
xxService.add("9001");
}
}
-
确保测试类使用了正确的测试运行器:不要使用
@RunWith(JUnit4.class)
,这是JUnit 4的注解。如果你正在使用Spring Boot,应该使用@RunWith(SpringRunner.class)
注解。 -
确保测试类上使用了
@SpringBootTest
注解:这个注解告诉Spring在测试期间加载应用程序的上下文。确保在@SpringBootTest
注解中配置了正确的classes
属性,指定了主应用程序类。 -
简单易行,用起来用起来
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class SsServiceTest {
@Autowired
IXxgDao xxxDao;
@Test
void aVoid(){
}
}
这是Junit5的使用,更加简单。在类名上加上注解,就可以直接Autowired获取Spring注入的类, 不过两者都要注意,就是不能有返回值。Junit4的方法名称前面必须是textXXX,Junit5随意。