testng
1、引入testng包
// pom.xml
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
2、配置Appliection
// 扫描包名,不然测试用例里面无法动态注入(@Resource)
@SpringBootApplication(scanBasePackages = {"cn.isdev.xiaohua.demo.**"})
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
3、写单测
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import org.testng.Assert;
import org.testng.annotations.Test;
import javax.annotation.Resource;
// 这里的class一定要是上面配置的application
@SpringBootTest(classes = {DemoApplication.class})
// AbstractTestNGSpringContextTests || AbstractTransactionalTestNGSpringContextTests
// https://www.qedev.com/auto/39648.html(区别参考)
public class HelloServiceImplTest extends AbstractTestNGSpringContextTests {
@Resource
HelloService helloService;
@Test
public void testAdd() {
Assert.assertEquals(3, helloService.add(1,2));
}
}
4、附加:service 源码
// 接口
public interface HelloService {
int add(int a, int b);
}
// 实现类
@Service
public class HelloServiceImpl implements HelloService {
@Override
public int add(int a, int b) {
return a + b;
}
}