网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
mathDemo m = new mathDemo();
@BeforeClass
public static void setUpClass(){
System.out.println(“在当前类的所有测试方法之前执行”);
}
@AfterClass
public static void tearDownClass(){
System.out.println(“在当前类中的所有测试方法之后执行”);
}
@Before
public void setUp(){
this.m = new mathDemo();
System.out.println(“在每个测试方法之前执行”);
}
@After
public void tearDown(){
this.m = null;
System.out.println(“在每个测试方法之后执行”);
}
@Test
public void testgetArea1(){
assertEquals(“这是错误信息1”,20,m.getArea(4,5));
}
@Test
public void testgetArea2(){
assertEquals(“这是错误信息2”,12,m.getArea(3,4));
}
}
@Test注解的方法
-
每个@Test对应一个方法,这个方法会被识别为一个测试方法
-
一个测试类里面可以有多个@Test,但是每个@Test对应的测试方法只会被执行一次
通常我们会在@Test测试方法中使用assertEquals断言语句,来判断方法是否能够正常运行并且输出我们希望的结果
assertEquals(“错误信息”,期望结果,实际结果)
当期望结果与实际结果不一致时,就会打印错误信息
这是断言都正确,没有报错时的结果
但假如我修改一下期望结果,让期望结果与实际结果不一致
@Test
public void testgetArea(){
assertEquals(“这是错误信息1”,20,m.getArea(4,5)); //正确
assertEquals(“这是错误信息2”,16,m.getArea(3,4)); //错误
}
这里会打印之前给定的错误信息,并且打印详细的信息,帮助我们来修改
这里需要说一下这些注解的含义:
@BeforeClass注解的方法,
-
是整个测试类开始执行的地方,在当前类所有的测试方法之前被执行。
-
是静态方法
-
用来初始化一些繁琐耗时的资源,比如创建数据库。
@AfterClass注解的方法,
-
是整个测试类完成之后执行的操作,在当前类中的所有测试方法之后执行。
-
是静态方法
-
用来清理@BeforeClass部分初始化的资源
注意,这两个都是Junit4的写法,在Junit5中,这两个分别叫@BeforeAll与@AfterAll
@Before注解的方法
-
在每个测试方法之前执行。
-
是非静态的方法
-
用来初始化类的对象或者类的属性
@After注解的方法
-
在每个测试方法之后执行
-
是非静态的方法
-
用来清理@Before部分初始化的对象或者属性
注意,这两个都是Junit4的写法,在Junit5中,这两个分别叫@BeforeEach与@AfterEach
@Before与@After会在每一个被@Test注解的测试方法的前后,被自动执行
@Before
public void setUp(){
this.m = new mathDemo();
System.out.println(“在每个测试方法之前执行”);
}
@Test
public void testgetArea(){
assertEquals(“这是错误信息1”,20,m.getArea(4,5));
}
@After
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!