初次使用Junit

前言:今天被人问到了TDD和Junit,竟然不会,太out了,回来看了几分钟,没想到junit这么简单,写个程序记一下。


Junit是同极限编程中的TDD联系在一起的,所谓TDD就是Test Driven Development.

[b]1,安装Junit[/b]

eclipse---windows--Preferences--java---Build Path ---new
Name,输入名称,随便; path:选择你下载的Junit的jar文件


[b]2.实例[/b]
编程实现anagram,所谓anagram,是一种单词game:两个比较的单词,字符长度一样,字符顺序不一样。比如: hello,ElloH; abc,Cba就是的,但是真正的anagram是比较的英语单词,咱先比较这种简单的情况。

按照TDD思想,拿到上面的需求后,咱先不编码,先写测试case.

import static org.junit.Assert.*;

import org.junit.Test;

public class AnagramTest {

@Test
public void testWhetherAnagrams(){
Anagram a = Anagram.INSTANCE;
Boolean result1 = a.whetherAnagrams("abcd", "dcBa");
Boolean result2 = a.whetherAnagrams("abcde", "dcBa");
assertEquals(true,result1);
assertEquals(false,result2);
}
}


[b] assertEquals(true,result)表示:参数一(true)表示我希望这个case运行的结果,用它去同参数二(result)匹配,如果相同,则这个case就通过了,否则就不通过。[/b]

上面的assertEquals我刚开始看时一直不明白是啥意思,原来那个就是用来判断结果是否正确的断言,当然,还有像什么assertTrue/assertFalse之类的,但assertEquals用得最多。

好了,上面的test case写好了,下面,咱来实现Anagram类(TDD思想就是:先整test case,再整implement)


package net.codercn;
public class Anagram {

public static final Anagram INSTANCE = new Anagram();

public boolean whetherAnagrams(String s1,String s2){
if(s1.length() != s2.length()){
return false;
}

char[] ch1 = s1.toLowerCase().toCharArray();
char[] ch2 = s2.toLowerCase().toCharArray();
Arrays.sort(ch1);
Arrays.sort(ch2);

return Arrays.equals(ch1, ch2);

}
}


好了,运行一下上面的AnagramTest,变绿了就ok了。Junit这种测试工具,最大的好处是不用再写public static void main(String[] args)这一大串东西了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值