工作中遇到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()