@Transactional
给方法添加事务,虽然返回值是true,但是数据库中并不减少数据

@Test
@Transactional
public void testusers()
{
System.out.println(userServiceimpl.removeById(1));
}
@displayname
@DisplayName("测试类1")
public class test {
@Autowired
public UserServiceimpl userServiceimpl;
@Test
@Transactional
@DisplayName("测试类1的测试方法1")
public void testusers()
{
System.out.println(userServiceimpl.removeById(2));
}
}

点击类上的运行,可以运行这个类的所有测试方法

@beforeall @afterall 在所有测试方法执行前或者后执行一次
@beforeeeach @aftereach 在每个测试方法执行前或者执行后执行
@BeforeAll
public static void beforeall()
{
System.out.println("在所有的测试方法前执行");
}
@AfterAll
public static void afterall()
{
System.out.println("在所有的测试方法后执行");
}
@BeforeEach
public void beforeeach()
{
System.out.println("在每个测试方法前执行-----");
}
@AfterEach
public void aftereach()
{
System.out.println("在每个测试方法后执行+++++");
}

@Disabled 在执行测试类的测试时,禁止执行该方法
@Test
@Disabled
@DisplayName("测试类1的测试方法1")
public void test1()
{
System.out.println("测试方法一");
}
@Timeout等待多长时间,如果到达时间,还没执行完,就抛出异常
@Test
@DisplayName("测试类1的测试方法1")
@Timeout(value = 500,unit = TimeUnit.MILLISECONDS)
public void test1() throws Exception
{
Thread.sleep(5000);//设置说5000毫秒,让程序超时
System.out.println("测试方法一");
}
断言,判断结果和预期是否一致,不一致就报错,一致就没事
// 前面的断言失败,后面的代码都不会执行
@DisplayName("简单断言测试")
@Test
public void test()
{
// 第一个是希望的,第二个是实际的,第三个是显示的提示
assertEquals(5,4,"业务逻辑");
Object o1=new Object();
Object o2=new Object();
// 判断两个对象是不是相等,第三个还是显示的提示
assertSame(o1,o2);
}
判断数组是否一致
@Test
@DisplayName("断言测试数组")
void array()
{
assertArrayEquals(new int[]{1,2},new int[]{1,3});
}
会告诉哪个地方不对,应该是什么

组合断言 只有全部通过才算通过
@Test
@DisplayName("组合断言")
public void all(){
assertAll("组合断言",()-> assertTrue(true),()->assertEquals(1,2));
}
异常断言 当代码没有抛出异常时报错,当抛出了异常不报错
@DisplayName("异常断言")
@Test
public void testexception()
{
assertThrows(ArithmeticException.class,()->{int i=10/2;},"message代码没有抛出异常!!!");
}

快速停止 如果满足条件,就停止调试,它后面的代码都不执行了
@DisplayName("快速失败")
@Test
public void testfail()
{
if(1==1)
{
fail("测试失败");
}
}
本文介绍了Spring Boot中测试相关的内容,包括@Test注解在JUnit5中的使用,@Transactional事务管理,以及测试生命周期方法@BeforeAll、@BeforeEach、@AfterEach、@AfterAll。还展示了如何使用@Disabled禁用测试方法,@Timeout限制测试执行时间,以及各种断言方法如assertEquals、assertArrayEquals和assertAll。此外,还提到了快速失败断言@fail以及异常断言assertThrows。
582

被折叠的 条评论
为什么被折叠?



