结合testng或其他测试工具,可以写出更为简洁的test。
Hamcrest 是一个测试的框架,它提供了一套通用的匹配符 Matcher,灵活使用这些匹配符定义的规则,程序员可以更加精确的表达自己的测试思想,指定所想设定的测试条件。比如,有时候定义的测试数据范围太精 确,往往是若干个固定的确定值,这时会导致测试非常脆弱,因为接下来的测试数据只要稍稍有变化,就可能导致测试失败(比如
http://code.google.com/p/hamcrest/
Hamcrest 是一个测试的框架,它提供了一套通用的匹配符 Matcher,灵活使用这些匹配符定义的规则,程序员可以更加精确的表达自己的测试思想,指定所想设定的测试条件。比如,有时候定义的测试数据范围太精 确,往往是若干个固定的确定值,这时会导致测试非常脆弱,因为接下来的测试数据只要稍稍有变化,就可能导致测试失败(比如
assertEquals( x, 10 ); 只能判断 x 是否等于 10,如果 x 不等于 10,
测试失败);有时候指定的测试数据范围又不够太精确,这时有可能会造成某些本该会导致测试不通过的数据,仍然会通过接下来的测试,这样就会降低测试的价
值。 Hamcrest 的出现,给程序员编写测试用例提供了一套规则和方法,使用其可以更加精确的表达程序员所期望的测试的行为。- import static org.hamcrest.MatcherAssert.assertThat;
- import static org.hamcrest.Matchers.*;
- import junit.framework.TestCase;
- public class BiscuitTest extends TestCase {
- public void testEquals() {
- Biscuit theBiscuit = new Biscuit("Ginger");
- Biscuit myBiscuit = new Biscuit("Ginger");
- assertThat(theBiscuit, equalTo(myBiscuit));
- }
- }
Hamcrest是一个测试框架,提供了丰富的匹配符来定义测试规则,帮助程序员更精确地表达测试意图。相较于传统的测试方法,Hamcrest能更好地应对测试数据的变化,提高测试的稳定性和价值。
682

被折叠的 条评论
为什么被折叠?



