[关闭]
@liayun 2016-06-24T14:26:40.000000Z 字数 1642 阅读 1318

Junit测试

java基础加强


Junit测试中要注意的几个注解

首先描述一个类Person

  1. public class Person {
  2. public void run() {
  3. System.out.println("run!!");
  4. }
  5. public void eat() {
  6. System.out.println("eat!!");
  7. }
  8. }

再定义一个Person类的测试类:

  1. public class Demo {
  2. private Person p;
  3. @Before
  4. public void before() { // 方法名无所谓
  5. System.out.println("before"); // 测试方法之前,提前初始化一些资源
  6. p = new Person();
  7. }
  8. @Test
  9. public void testRun() {
  10. p.run();
  11. }
  12. @Test
  13. public void testEat() {
  14. p.eat();
  15. }
  16. @After
  17. public void after() { // 方法名无所谓
  18. System.out.println("after"); // 测试方法完了之后需要释放一些资源
  19. p = null;
  20. }
  21. }

接着,选中需要测试的方法或将光标移到其上,右键→Run AsJuint Test,此时若在Juint视图中显示绿条,即代表测试通过,若显示为红条,即代表测试不通过。
如果要运行该类中所有的测试方法,可选中该类或将光标移到其上,右键→Run AsJuint Test。结果为:

before
eat!!
after
before
run!!
after

注意:首次使用Juint测试,需要Jar包,所以会报错,这时就可使用快速修复(Ctrl+1)快捷键
观察以下代码,与上面的代码有何区别?

  1. public class Demo {
  2. @BeforeClass
  3. public static void beforeClass() {
  4. System.out.println("beforeClass");
  5. }
  6. @Test
  7. public void testRun() {
  8. Person p = new Person();
  9. p.run();
  10. }
  11. @Test
  12. public void testEat() {
  13. Person p = new Person();
  14. p.eat();
  15. }
  16. @AfterClass
  17. public static void afterClass() {
  18. System.out.println("afterClass");
  19. }
  20. }

如果运行该类中所有的测试方法,结果为:

beforeClass
eat!!
run!!
afterClass

断言

先描述Person类:

  1. public class Person {
  2. public String run() {
  3. System.out.println("run!!");
  4. return "1";
  5. }
  6. public void eat() {
  7. System.out.println("eat!!");
  8. }
  9. }

在Person类的测试类中定义一个testRun()

  1. @Test
  2. public void testRun() {
  3. Person p = new Person();
  4. // 断言
  5. Assert.assertEquals("1", p.run());
  6. }

Assert.assertEquals("2", p.run());表示测试run()方法时希望它的返回值是"1",如果该方法的返回值和我期望的是一样的,测试通过,反之,测试不通过。
当然,断言的方法还有很多很多,如:

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注