单元测试工具Junit是一个开源项目,昨天学习了一下这个东西,总结下心得。
1.创建相应的test类
package:测试类存放位置。
Name:测试类名字。
setUp,tearDown:测试类创建测试环境以及销毁测试环境,这两个方法只执行一次。
Class Under test:需要被测试的类路径及名称。
点击下一步就会让你选择需要给哪些方法进行测试。
测试类创建完成后在类中会出现你选择的方法的测试方法:
- package test.com.boco.bomc.alarmrelevance.show.dao;
- import junit.framework.TestCase;
- import org.junit.After;
- import org.junit.Before;
- import org.junit.BeforeClass;
- import org.junit.Test;
- public class ShowStrategyDaoTest extends TestCase{
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- System.out.println("OK1");
- }
- @Before
- public void setUp() throws Exception {
- }
- @After
- public void tearDown() throws Exception {
- }
- @Test
- public final void testGetDataByApplyNameOrHostIp() {
- fail("Not yet implemented"); // TODO
- }
- @Test
- public final void testGetDataByObject() {
- fail("Not yet implemented"); // TODO
- }
- @Test(timeout=1)
- public final void testGetApplyUser() {
- fail("Not yet implemented"); // TODO
- }
- @Test
- public final void testGetVoiceUser() {
- fail("Not yet implemented"); // TODO
- }
- @Test
- public final void testSearchInAera() {
- fail("Not yet implemented"); // TODO
- }
- @Test
- public final void testGetDataByPolicyId() {
- fail("Not yet implemented"); // TODO
- }
- }
其中的@before,@test,@after表示在执行测试方法前执行,需执行的测试方法,在测试方法执行后执行。
可以给@test添加timeout,exception参数。
在测试方法中可以用assertEquals(arg0,arg1);
可以用TestSuite把多个测试类集中到一起,统一执行测试,例如:
- package test.com.boco.bomc.alarmrelevance.show.dao;
- import junit.framework.Test;
- import junit.framework.TestSuite;
- public class TestAll {
- public static Test suite(){
- TestSuite suite = new TestSuite("Running all the tests");
- suite.addTestSuite(ShowStrategyDaoTest.class);
- suite.addTestSuite(com.boco.bomc.alarmrelevance.show.dao.ShowStrategyDaoTest.class);
- return suite;
- }
- }
另外还可以把多个TestSuite组合到一个Test类里面,例如:
- package test.com.boco.bomc.alarmrelevance.show.dao;
- import junit.framework.Test;
- import junit.framework.TestCase;
- import junit.framework.TestSuite;
- public class TestAll1 extends TestCase {
- public static Test suite(){
- TestSuite suite1 = new TestSuite("TestAll1");
- suite1.addTest(TestAll.suite());
- suite1.addTest(TestAll2.suite());
- return suite1;
- }
- }
这就更方便与集中测试,一个方法测试完了,可以对个方法,多个类一起测试。
注意:在写代码的时候TestSuite,TestCase,Test的包不要到错了。
测试效果如下:
原文链接:http://www.cnblogs.com/God-froest/archive/2011/11/18/JunitTest.html
编辑推荐: