SpringBoot Junit的单元测试
Junit常用注解
- @Before:初始化方法
- @After:释放资源
- @Test:测试方法,在这里可以测试期望异常和超时时间
- @Ignore:忽略的测试方法
- @BeforeClass:针对所有测试,只执行一次,且必须为static void
- @AfterClass:针对所有测试,只执行一次,且必须为static void
执行顺序:@BeforeClass ——> @Before ——> @Test ——> @After ——> @AfterClass
依赖引入
pom.xml中仅依赖spring-boot-starter-test,它把相关的依赖全部引入。
<!-- spring boot test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
测试代码
我这里使用的是Groovy代码。
@RunWith(SpringRunner.class)
@SpringBootTest(classes = App.class)
class AdminTest {
@Autowired
private AdminService adminService
@Test
void findAdminById(){
Admin admin = adminService.findAdminById(1)
println admin.adminName
}
}
代码说明:
@SpringRunner是spring-test提供的测试执行单元类(SpringJUnit4ClassRunner的新名字)
@SpringBootTest(classes = App.class),其中App.class是项目的启动类。