工作中遇到TestNG和JUnit 2种写测试用例的插件,都有不同的使用方法 目前是在eclipse工具+Selenium 我们创建java project成功后,假设创建Sample project,包名package.com.test Demo.java文件中,写上 package com.test;
public class Sample { public int abs(int n){ return (n>=0)?n:(-n); } public static void main(String[] args) throws Exception{ Sample s= new Sample(); s.abs(-5); }
}
1. 使用TestNG 安装插件,这个网上很多资料不说了
创建TestNG的class,然后在工程右键build path-->add extral jars,加入testng-xxx -jar包,文件放置的位置在eclipse安装目录下xxx/eclipse/plugins/org.testngxxx/lib/testng-jdkxxx.jar相关包 下面是NewTest.java文件的内容
package com.testng.test;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest; import org.testng.annotations.AfterTest;
import static org.junit.Assert.*; import org.junit.*;
//引入要测试的类 import com.test.Sample;
public class NewTest { private Sample sTest; @Test public void testAbs() { assertEquals(sTest.abs(-5),5); } @Test public void a(){ assertEquals(sTest.abs(0)); } @BeforeTest public void beforeTest() { sTest =new Sample(); } @AfterTest public void afterTest() { } } 文件右键 run-->run as "TestNG Test" 可以看到运行的结果了,多少成功,失败 TestNG 执行的顺序是 setup() testfunction()[testng在测试用例时,查看@Test annonation信息,所以加注释很重要] teardown() 用例执行完,会有testcase失败和成功的信息 这里我没有用testng.xml,这是我下一步学习的知识
2. 使用JUnit 我们使用maven创建工程,可以打开指定工程pom.xml文件 看到这样的信息 <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.7</version> <scope>test</scope> </dependency> 说明JUnit查看对应的包已经存在了,具体他们存放在xxx/repo/junit/junit version/各种jar或者文件
junit version有2个版本,一个4.7 一个3.8.1版本之间有个不同 主要是setup() teardown()在3.8.1上 在每个testcase之前都会调用setup()和teardown(),执行次数和执行testcase次数一致 主要是setup() teardown()在4.7上 在所有testcase之前都会调用setup()和teardown(),执行次数各为一次 接着Sample project工程说,
右键左边工程的sample-->new-->JUnit Testcase, 创建测试类,
点击ok,创建成功了,然后在工程右键build path-->add extral jars,加入junit 4.7 jar包
打开com.junit.test类的TestAba.java文件 下面是怎么写TestCase了 package com.junit.test;
import static org.junit.Assert.*; import org.junit.*;
import org.junit.After; import org.junit.Before; import org.junit.Test; //引入需要测试的类 import com.test.Sample;
public class TestAbs { private Sample sTest; @Before public void setUp() throws Exception { sTest = new Sample(); }
@After public void tearDown() throws Exception { }
@Test public voidtest001() { //fail("Not yet implemented"); assertEquals(sTest.abs(-5),5); } }
文件右键 run-->run as "JUnit Test" 可以看到运行的结果了,多少成功,失败 JUnit执行的顺序是 setUp() testXXX() //junit只寻找test开始的字段来执行 tearDown()