如何使用junit做单元测试?
答案很简单:搭好环境写好测试类,运行就可以了!但真的可以吗,如果我的项目中有五十个测试类,那么是不是需要运行50次呢,如果100个呢,显然这样是不行的,那么应该如何做呢,下面一个简单的例子说明junit单元测试的使用!
搭建junit测试环境在此不再多言。
首先创建个待测试的bean,
package bean;
public class Student {
private String name;
private String sex;
private String age;
public Student(){
}
public Student(String name , String sex, String age){
this.name = name;
this.sex = sex;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
然后创建junit测试类,如下:
package test;
import junit.framework.TestCase;
import bean.Student;
public class TestStudent extends TestCase {
public TestStudent(String fName){
super(fName);
}
public void testGet(){
Student student = new Student("juint","男", "28");
assertEquals("junit", student.getName());
assertEquals("男", student.getSex());
assertEquals("28",student.getAge());
}
public void testSet() {
Student student = new Student();
student.setAge("28");
student.setName("junit");
student.setSex("男");
assertEquals("28", student.getAge());
assertEquals("junit", student.getName());
assertEquals("男", student.getSex());
}
}
到目前为止,测试类已经创建完成,如果运行测试类的话,就可以对相应方法进行测试,一下要讲的就是如何对多个测试类进行测试。
创建TestRunning类
package test;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class TestRunning extends TestCase {
public static void main(String[] args) {
junit.textui.TestRunner.run(suite());
}
public static Test suite(){
TestSuite suite = new TestSuite();
suite.addTestSuite(TestStudent.class);
//在此添加测试类即可
//suite.addTestSuite(TestStudent.class);
return suite;
}
}
这样,可以对局部或者全部的测试类进行测试,而不需要对手动运行每个测试类。
当然了,junit还可以通过另外一种方式对某个测试类的某个方法进行测试,如下代码所示:
package test;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class TestRunning extends TestCase {
public static void main(String[] args) {
junit.textui.TestRunner.run(suite());
}
public static Test suite(){
TestSuite suite = new TestSuite();
suite.addTest(new TestStudent("testGet"));
suite.addTest(new TestStudent("testSet"));
return suite;
}
}
以上suite()中对TestStudent的testGet和testSet方法进行了测试。
转自http://blog.sina.com.cn/s/blog_7d31bbee0100sq9o.html