junit--hamcrest

来源:互联网 发布:office16 for mac破解 编辑:程序博客网 时间:2024/06/03 16:39

1.下载 hamcrest 

<dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-all</artifactId><version>1.3</version></dependency>

2.hamcrest示例

package com.qunar.calcuate;import static org.hamcrest.Matchers.*;  import static org.junit.Assert.*;import org.junit.Test;public class TestCal {private Calcuate calcuate = new Calcuate();@Test(expected = ArithmeticException.class)public void testDivide() {int res = calcuate.divide(2, 0);assertEquals(res, 2);}@Testpublic void testHamcrest(){assertThat(10, greaterThan(5));assertThat(10, allOf(greaterThan(2),lessThan(20)));assertThat("a.txt", endsWith("txt"));}}
3.可以使用TestSuite 来组成多个测试组件

package com.qunar.calcuate;import static org.hamcrest.Matchers.*;  import static org.junit.Assert.*;import org.junit.Test;public class TestOther {@Testpublic void test01(){assertThat(10, equalTo(10));}}

package com.qunar.calcuate;import static org.hamcrest.Matchers.*;  import static org.junit.Assert.*;import org.junit.Test;public class TestOther1 {@Testpublic void test01(){assertThat(10, equalTo(10));}}

package com.qunar.calcuate;import org.junit.Test;import org.junit.runner.RunWith;import org.junit.runners.Suite;import org.junit.runners.Suite.SuiteClasses;@RunWith(Suite.class)@SuiteClasses({ TestOther.class, TestOther1.class, TestCal.class })public class TestSuite {@Testpublic void test01() {}}

@RunWith表示这是一个Suit类

@SuiteClasses表示这个类中包含哪些测试类


建立一个单独的source包来放Test

测试类包应该和需要测试的的类一致

测试单元中每一个方法都必须是可以独立执行,没有顺序,测试方法之间不能有任何的依赖性










0 0
原创粉丝点击