Junit基础使用
来源:互联网 发布:mac win7 0x80070570 编辑:程序博客网 时间:2024/06/05 15:10
在这里看到一个不错Junit的基础中的基础,网址是:http://lavasoft.blog.51cto.com/62575/65625
下面转自:http://www.blogjava.net/liaojiyong/archive/2007/01/18/94651.html
package onlyfun.caterpillar.test;import onlyfun.caterpillar.MathTool;import junit.framework.TestCase;public class MathToolTest extends TestCase { public MathToolTest(String testMethod) { super(testMethod); } public void testGcd() { assertEquals(5, MathTool.gcd(10, 5)); } public static void main(String[] args) { junit.textui.TestRunner.run(MathToolTest.class); }}
在这个例子中,您并没有看到任何的TestSuite,事实上,如果您没有提供任何的TestSuite,TestRunner会自己建立一个,然後这个 TestSuite会使用反射(reflection)自动找出testXXX()方法。
如果您要自行生成TestSuite,则在继承TestCase之後,提供静态的(static)的suite()方法,例如:
return new TestSuite(MathTool.class);
}
如果您没有提供任何的TestSuite,则TestRunner就会像上面这样自动为您建立一个,并找出testXXX()方法,您也可以如下面定义 suite()方法:
TestSuite suite = new TestSuite(MathTool.class);
suite.addTest(new MathToolTest("testGcd"));
return suite;
}
JUnit并没有规定您一定要使用testXXX()这样的方式来命名您的测试方法,如果您要提供自己的方法(当然JUnit 鼓励您使用testXXX()这样的方法名称),则可以如上撰写,为了要能够使用建构函式提供测试方法名称,您的TestCase必须提供如下的建构函 式:
super(testMethod);
}
如果要加入更多的测试方法,使用addTest()就可以了,suite()方法传回一个TestSuite物件,它与 TestCase都实作了Test介面,TestRunner会调用TestSuite上的run()方法,然後TestSuite会将之委托给 TestCase上的run()方法,并执行每一个testXXX()方法。
除了组合TestCase之外,您还可以将数个TestSuite组合在一起,例如:
TestSuite suite= new TestSuite();
suite.addTestSuite(TestCase1.class);
suite.addTestSuite(TestCase2.class);
return suite;
}
如此之来,您可以一次运行所有的测试,而不必个别的运行每一个测试案例,您可以写一个运行全部测试的主测试,而在使用TestRunner时呼叫 suite()方法,例如:
TestCase与TestSuite都实作了Test介面,其运行方式为 Command 模式 的一个实例,而TestSuite可以组合数个TestSuite或TestCase,这是 Composite 模式 的一个实例。
- Junit基础使用
- Junit使用基础总结
- Eclipse中JUnit使用基础
- Eclipse中JUnit使用基础
- Junit 基础
- JUnit基础
- JUnit基础
- Junit基础
- junit基础
- junit基础
- junit 使用
- junit使用
- junit 使用
- junit 使用
- Junit使用
- JUnit使用
- 使用JUnit
- Junit使用
- 浅谈装修模式decorator
- 目前可用的通用DNS
- C++回调函数应用
- ADC驱动
- 【floyd】poj 3615
- Junit基础使用
- 【dp】石子合并问题
- 进程通信
- 几个开发工具的java逆向工程(java reverse engineering)功能比较
- 【floyd】hdu 3665
- 自己编写的linux shell (修改)
- 边界类、控制类、实体类
- 自己编写的linux ls命令
- JVM内存管理:深入Java内存区域与OOM