阅读463 返回首页    go 阿里云 go 技术社区[云栖]


Junit的使用

 

我们当然可以用myeclipse自带的junit的jar包,但是我觉得自己引入比较不错。

 

测试一

 

引入的jar包——junit-4.7

 

package com.xy.methods;

public class Methods
{
 public int add(int x, int y)
 {
  return x + y;
 }

 public int divide(int x, int y)
 {
  return x / y;
 }
}

 

 

import static org.junit.Assert.*表示静态引入,把Assert下的方法引入,可以直接调用方法

package com.xy.methods.test;

import static org.junit.Assert.*;
import org.junit.Test;
import com.xy.methods.Methods;

public class MTest
{

 @Test
 public void testAdd1()
 {
  int result = new Methods().add(3, 5);
  assertEquals(8, result);
 }

 @Test
 public void testAdd2()
 {
  int result = new Methods().add(3, 5);
  assertEquals(9, result);
 }

 @Test
 public void testAdd3()
 {
  int result = new Methods().add(3, 5);
  assertTrue(result > 100);
 }

 @Test
 public void testAdd4()
 {
  int result = new Methods().add(3, 5);
  assertTrue("is bigger than 100?", result > 100);
 }

 

 // 预期异常为ArithmeticException,如果是该异常,就测试成功(绿色)
 // 该方法需要在100ms内结束
 @Test(expected = java.lang.ArithmeticException.class, timeout = 100)
 public void testDivide()
 {
  int z = new Methods().divide(8, 0);
  assertEquals(9, z);
 }
}

 

 

 

测试二(使用assertThat)

 

引入的jar包

junit-4.7

hamcrest-core-1.2

hamcrest-library-1.2

 

public class T
{
 public int add(int x, int y)
 {
  return x + y;
 }

 public int divide(int x, int y)
 {
  return x / y;
 }
}

 

 

import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import com.bjsxt.junit4.T;

public class TTest
{
 @BeforeClass
 public static void beforeClass()
 {
  System.out.println("beforeClass");
 }

 @Before
 public void before()
 {
  System.out.println("before");
 }

 @SuppressWarnings("unchecked")
 @Test
 public void testAdd()
 {
  int z = new T().add(5, 3);
  assertThat(z, is(8));
  assertThat(z, allOf(greaterThan(5), lessThan(10)));
 }

 @After
 public void after()
 {
  System.out.println("after");
 }

 @AfterClass
 public static void afterClass()
 {
  System.out.println("afterClass");
 }

}

 

具体hamcrest包里面有什么方法,可以上网查询。

最后更新:2017-04-02 18:44:44

  上一篇:go 基于HttpClient的HttpUtils(后台访问URL)
  下一篇:go HttpUtil工具类