JUnit 4 in 60 Seconds
来源:互联网 发布:郑州办公软件培训班 编辑:程序博客网 时间:2024/04/30 14:48
I played with JUnit 4 library this weekend and here is the short introduction to it:
- @Test
Mark your test cases with @Test annotations. You don’t need to prefix your test cases with “test”. In addition, your class does not need to extend from “TestCase” class.- @Test
- public void addition() {
- assertEquals(12, simpleMath.add(7, 5));
- }
- @Test
- public void subtraction() {
- assertEquals(9, simpleMath.substract(12, 3));
- }
- @Before and @After
Use @Before and @After annotations for “setup” and “tearDown” methods respectively. They run before and after every test case.- @Before
- public void runBeforeEveryTest() {
- simpleMath = new SimpleMath();
- }
- @After
- public void runAfterEveryTest() {
- simpleMath = null;
- }
- @BeforeClass and @AfterClass
Use @BeforeClass and @AfterClass annotations for class wide “setup” and “tearDown” respectively. Think them as one time setup and tearDown. They run for one time before and after all test cases.- @BeforeClass
- public static void runBeforeClass() {
- // run for one time before all test cases
- }
- @AfterClass
- public static void runAfterClass() {
- // run for one time after all test cases
- }
- Exception Handling
Use “expected” paramater with @Test annotation for test cases that expect exception. Write the class name of the exception that will be thrown.- @Test(expected = ArithmeticException.class)
- public void divisionWithException() {
- // divide by zero
- simpleMath.divide(1, 0);
- }
- @Ignore
Put @Ignore annotation for test cases you want to ignore. You can add a string parameter that defines the reason of ignorance if you want.- @Ignore("Not Ready to Run")
- @Test
- public void multiplication() {
- assertEquals(15, simpleMath.multiply(3, 5));
- }
- Timeout
Define a timeout period in miliseconds with “timeout” parameter. The test fails when the timeout period exceeds.- @Test(timeout = 1000)
- public void infinity() {
- while (true)
- ;
- }
- New Assertions
Compare arrays with new assertion methods. Two arrays are equal if they have the same length and each element is equal to the corresponding element in the other array; otherwise, they’re not.public static void assertEquals(Object[] expected, Object[] actual);
public static void assertEquals(String message, Object[] expected, Object[] actual);- @Test
- public void listEquality() {
- List<Integer> expected = new ArrayList<Integer>();
- expected.add(5);
- List<Integer> actual = new ArrayList<Integer>();
- actual.add(5);
- assertEquals(expected, actual);
- }
- JUnit4Adapter
Run your Junit 4 tests in Junit 3 test runners with Junit4Adapter.- public static junit.framework.Test suite() {
- return new JUnit4TestAdapter(SimpleMathTest.class);
- }
Happy coding.
原文地址:http://www.cavdar.net/2008/07/21/junit-4-in-60-seconds/
注解过的Junit编写和测试都是一种享受。
- JUnit 4 in 60 Seconds
- JUnit 4 in 60 Seconds(翻译)
- Fatal error: Maximum execution time of 60 seconds exceeded in
- MySQL server has gone away - in exactly 60 seconds
- Junit (Assertions in JUNIT)
- 60 seconds to Spring
- $SECONDS
- Fatal error: Maximum execution time of 60 seconds exceeded in *.php on line...
- Batch Rename the files in seconds.
- LPC: Booting Linux in five seconds
- In didFinishLaunchingWithOptions openUrl load 10 seconds
- JUnit In Action 笔记
- 《JUnit in action》
- Mock in JUnit
- JUnit in Action
- Unit Testing in JUnit
- Annotations in JUnit
- junit in action读书笔记
- 如何用JAVA调用存储过程
- Jtable 凍結
- UltraEdit-32 13.20 注册序列号
- onBlur,onChange,onClick,OnKeyDown,OnKeyUp,OnKeyPress,OnMouseEnter,OnMouseDown作用一览
- 触发ALV事件时报错MOVE_TO_LIT_NOTALLOWED_NODATA
- JUnit 4 in 60 Seconds
- 免裝Oracle客戶端PLSQL Developer正常運行
- 禁用VS2005实时调试和恢复方法
- 怎么获取地址里的汉字
- 2008-11-27: xBlog成长记一
- 从51初学者到电子工程师
- JUnit Cookbook
- 【原创】 Ajax之ModalPopup编程实例
- 在Excel中连接字符串的方法