自定义JUnit断言
2007-08-06 13:00
274 查看
在某些环境下,比如处理特殊的数据类型,或处理对多个测试都共享的一系列操作,可以使用自定义断言。比如在测试一个经济方面的程序并且事实上所有的测试都使用了名为Money的数据类型,可以不直接从TestCase继承,而自己创建一个项目特有的基础测试类。
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
import junit.framework.TestCase;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
public class ProjectTest extends TestCase ...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
public void assertEvenDollars(String message, Money amount) ...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
assertEquals(message, amount.asDouble() - (int)amount.asDouble(), 0.0, 0.001);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
public void assertEvenDollars(Money amount) ...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
assertEvenDollars("", amount); // 不要拷贝和粘贴共有代码
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
事实上,开始新项目时总是从自己的自定义基类继承而不直接从JUnit的类继承通常是一个好主意——即便一开始在基类中没有添加任何额外的功能。这样做的好处是,一旦以后需要添加一个所有测试类都需要的方法或者能力时,可以简单地修改基类而不需要改动项目中所有的test case。
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
import junit.framework.TestCase;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
public class ProjectTest extends TestCase ...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
public void assertEvenDollars(String message, Money amount) ...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
assertEquals(message, amount.asDouble() - (int)amount.asDouble(), 0.0, 0.001);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
public void assertEvenDollars(Money amount) ...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
assertEvenDollars("", amount); // 不要拷贝和粘贴共有代码
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
事实上,开始新项目时总是从自己的自定义基类继承而不直接从JUnit的类继承通常是一个好主意——即便一开始在基类中没有添加任何额外的功能。这样做的好处是,一旦以后需要添加一个所有测试类都需要的方法或者能力时,可以简单地修改基类而不需要改动项目中所有的test case。
相关文章推荐
- JUnit之断言assert
- 三、Junit4 断言方法
- c\c++复习基础要点05---assert断言及其自定义实现
- JUnit的各种断言
- 编程规范之Junit测试断言使用
- JUnit笔记--JUnit中的断言
- java JUnit断言
- JUnit中使用Hamcrest测试框架的assertThat断言【4.4新特性】
- 使用junit Assert 断言来判断参数是否为空
- [原]JUnit 自定义扩展思路
- java自定义 注解 annotation、标签库tag、监听listener、junit简单测试代码
- 10.Android UiAutomator Junit 断言函数的使用
- JUnit源码分析 - 扩展 - 自定义Rule
- 自定义断言
- Junit 断言 assertThat, assertEquals, assertTrue
- junit断言总结
- python:异常处理、自定义异常、断言
- java junit 软件测试断言用法举例
- 单元测试____>junit 必须导入测试包和断言包
- Junit 4.7 Rule:另一种断言异常的方法(ExpectedException)