@TOC
eclipse
引入库
添加库
可以看到库添加成功
创建test文件夹
添加
选择要测试的方法
生成一个新的类
package cn.smbms.service.impl;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
class TestUserServiceImpl {
@Test
void testModify() {
fail("Not yet implemented");
}
@Test
void testLogin() {
fail("Not yet implemented");
}
}
实现测试
package cn.smbms.service.impl;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.bdqn.smbms.pojo.User;
import cn.bdqn.smbms.service.UserService;
import cn.bdqn.smbms.util.Pager;
class TestUserServiceImpl {
static private UserService userService;
//不写这个注解会报错
@BeforeAll
static void start() {
userService=(UserService) (new ClassPathXmlApplicationContext("applicationContext.xml").getBean("userService"));
}
@Test
void testListByNameRoleId() {
Pager<User> pager=userService.listByNameRoleId("", -1, 1, 5);
//预期的,实际的,不符合提示
assertEquals(5, pager.getList().size(), "查询的记录条数与预期不一致");
}
@Test
void testModify() {
User user =new User();
user.setId(15);
user.setUserName("yy");
//判断是否成功
assertTrue(userService.modify(user));
}
@Test
void testLogin() {
//不为空即正确
assertNotNull(userService.login("admin", "1234567"));
}
}
通过测试
与预期不符合
红色报错,代码写错
idea
添加插件
file-setting-plugins添加junit插件
写完代码后,在类名上右键——GOTO——TEST
常用注释
@BeforeClass
@AfterClass
@Before
@Test
@After
方法:
assertEquals();及其重载方法:
- 如果两者一致, 程序继续往下运行.
- 如果两者不一致, 中断测试方法, 抛出异常信息 AssertionFailedError
只会抛出异常,不会中断其它测试
assertEquals不止比较值还会比较对象地址,所以使用这个方法判断数组一定会抛出异常
assertArrayEquals这个当数组的引用地址不一致时,会去遍历比较值
示例代码
import org.junit.*;
import static org.junit.Assert.*;
public class maopaoTest {
private maopao maopao;
//必须是静态的
@BeforeClass
public static void aVoidaa(){
System.out.println("类开始之前");
}
//必须是静态的
@AfterClass
public static void aVoida(){
System.out.println("类结束之后");
}
//before和after是在每个test开始和结束的时候调用
@Before
public void setUp() throws Exception {
maopao=new maopao();
System.out.println("测试开始");
}
@Test
public void bubbleSore() {
int []arrs=new int[]{23,42,12,33,532,1,-3};
maopao.bubbleSore(arrs);
for (int i=0;i<arrs.length;i++){
System.out.println(arrs[i]);
}
}
@Test
public void getName() {
assertEquals("getName",maopao.getName());
}
@After
public void tearDown() throws Exception {
System.out.println("测试结束");
}
}