上善若水
In general the OO style is to use a lot of little objects with a lot of little methods that give us a lot of plug points for overriding and variation. To do is to be -Nietzsche, To bei is to do -Kant, Do be do be do -Sinatra
BlogJava
首頁(yè)
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 146,comments - 147,trackbacks - 0
<
2012年11月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
常用鏈接
我的隨筆
我的文章
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(4)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類
(157)
Architecture(7)
Cassandra
CodeTools(5)
Core Java(22)
Database(3)
EHCache(6)
GC(4)
GemFire(3)
Guava(2)
Hadoop(4)
HBase(9)
Jetty(19)
JUnit(6)
Linux(5)
Logging(11)
MultiThreading(8)
Netty(2)
Protobuf(3)
Spring(2)
學(xué)習(xí)積累(6)
收藏(12)
深入JVM(9)
深入源碼(2)
經(jīng)驗(yàn)積累(6)
金融知識(shí)(1)
隨筆檔案
(125)
2015年11月 (1)
2015年9月 (5)
2015年8月 (7)
2015年7月 (1)
2015年4月 (6)
2015年2月 (1)
2015年1月 (1)
2014年12月 (2)
2014年7月 (3)
2014年6月 (2)
2014年5月 (15)
2014年4月 (2)
2014年3月 (5)
2013年12月 (2)
2013年11月 (3)
2013年10月 (8)
2012年12月 (2)
2012年11月 (13)
2012年9月 (1)
2012年7月 (6)
2012年6月 (2)
2012年5月 (6)
2012年4月 (1)
2012年2月 (1)
2011年12月 (2)
2011年11月 (3)
2011年9月 (10)
2011年8月 (1)
2011年7月 (6)
2011年6月 (7)
收藏夾
(13)
DataBase(7)
Financial
Tools(6)
Java GC
GC - Jon Masamitsu @Oracle
GC - Poonam @Oracle
GC/Arch - Alexey Ragozin
Hotspot John Rose @Oracle
itcamel
Java General
Concurrent - xylz
ImportNew
landon
NoSQL
Carol McDonald @MapR
HBASE HADOOP INSTRUCTOR
Tech General
Learning Library @Oracle
Tech resource from Oracle
Quasar
王垠
Tech Master
Doug Lea @State University of New York
concurrent package author
Leslie Lamport
Distributed System, PAXOS author
MySQL-Performance
MySQL/MongoDB/MariaDB
Welsh, Matt @ Harvard
SEDA
董的博客-大數(shù)據(jù)相關(guān)
董的博客-大數(shù)據(jù)相關(guān)
最新隨筆
1.?使用NamedParameterJdbcTemplate遇到無(wú)法使用的坑
2.?SSTable詳解
3.?[轉(zhuǎn)]高性能IO模型淺析
4.?Netty3架構(gòu)解析
5.?Intercepting Filter模式詳解
6.?Reactor模式詳解
7.?深入HBase架構(gòu)解析(二)
8.?深入HBase架構(gòu)解析(一)
9.?Log4J引起的程序“裝死”
10.?實(shí)現(xiàn)自己的Lock對(duì)象
搜索
積分與排名
積分 - 895103
排名 - 42
最新評(píng)論
1.?re: 深入源碼之SLF4J
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--Rookie
2.?re: Reactor模式詳解
netty的Selector.select是使用系統(tǒng)的select實(shí)現(xiàn)的么?這個(gè)好像不大好,印象中好像是用epoll實(shí)現(xiàn)的?
--戈風(fēng)
3.?re: 【轉(zhuǎn)】關(guān)于AccessController.doPrivileged
其實(shí)具體什么情況下需要用到AccessController.doPrivileged,平常業(yè)務(wù)代碼基本不會(huì)用到,難道是在寫(xiě)框架的時(shí)候需要用到?什么類型的框架和場(chǎng)景?
--Kingson
4.?re: 使用XStream序列化、反序列化XML數(shù)據(jù)時(shí)遇到的各種問(wèn)題
繼承上,子類對(duì)象 在toxml時(shí), XStream只將子類的屬性轉(zhuǎn)xml了, 父類的屬性沒(méi)轉(zhuǎn)換xml為何呢?
--MR熊
5.?re: 深入Jetty源碼之SecurityHandler
我想問(wèn)一下,你這個(gè)有沒(méi)有樣例可以參考一下,我剛?cè)雑etty不久,對(duì)于這個(gè)LoginService的配置不是很熟悉,可以介紹一下,郵箱1204219804@qq.com
--小zhao
閱讀排行榜
1.?Reactor模式詳解(112321)
2.?深入HBase架構(gòu)解析(一)(60731)
3.?Java Cache系列之Guava Cache實(shí)現(xiàn)詳解(25418)
4.?使用XStream序列化、反序列化XML數(shù)據(jù)時(shí)遇到的各種問(wèn)題(25026)
5.?深入Log4J源碼之Log4J Core(23982)
評(píng)論排行榜
1.?equals方法實(shí)現(xiàn)小記(10)
2.?深入JUnit源碼之Runner(8)
3.?[多問(wèn)幾個(gè)為什么]為什么匿名內(nèi)部類中引用的局部變量和參數(shù)需要final而成員字段不用?(8)
4.?深入Log4J源碼之Log4J Core(5)
5.?finally知多少(5)
JUnit中對(duì)Exception的判斷
說(shuō)來(lái)慚愧,雖然之前已經(jīng)看過(guò)JUnit的源碼了,也寫(xiě)了幾篇博客,但是長(zhǎng)時(shí)間不寫(xiě)Test Case,今天想要寫(xiě)拋Exception相關(guān)的test case時(shí),竟然不知道怎么寫(xiě)了。。。。。好記性不如爛筆頭,記下來(lái)先~~
對(duì)于使用驗(yàn)證Test Case方法中拋出的異常,我起初想到的是一種比較簡(jiǎn)單的方法,但是顯得比較繁瑣:
@Test
public
void
testOldStyle()
{
try
{
double
value
=
Math.random();
if
(value
<
0.5
)
{
throw
new
IllegalStateException(
"
test
"
);
}
Assert.fail(
"
Expect IllegalStateException
"
);
}
catch
(IllegalStateException e)
{
}
}
Google了一下,找到另外幾種更加方便的方法:1,使用Test注解中的expected字段判斷拋出異常的類型。2,使用ExpectedException的Rule注解。
個(gè)人偏好用Test注解中的expected字段,它先的更加簡(jiǎn)潔,不管讀起來(lái)還是寫(xiě)起來(lái)都很方便,并且一目了然:
@Test(expected
=
IllegalStateException.
class
)
public
void
testThrowException()
{
throw
new
IllegalStateException(
"
test
"
);
}
@Test(expected
=
IllegalStateException.
class
)
public
void
testNotThrowException()
{
System.out.println(
"
No Exception throws
"
);
}
對(duì)Rule注解的使用(只有在JUnit4.7以后才有這個(gè)功能),它提供了更加強(qiáng)大的功能,它可以同時(shí)檢查異常類型以及異常消息內(nèi)容,這些內(nèi)容可以只包含其中的某些字符,ExpectedException還支持使用hamcrest中的Matcher,默認(rèn)使用IsInstanceOf和StringContains Matcher。在BlockJUnit4ClassRunner的實(shí)現(xiàn)中,每一個(gè)Test Case運(yùn)行時(shí)都會(huì)重新創(chuàng)建Test Class的實(shí)例,因而在使用ExpectedException這個(gè)Rule時(shí),不用擔(dān)心在多個(gè)Test Case之間相互影響的問(wèn)題:
@Rule
public
final
ExpectedException expectedException
=
ExpectedException.none();
@Test
public
void
testThrowExceptionWithRule()
{
expectedException.expect(IllegalStateException.
class
);
throw
new
IllegalStateException(
"
test
"
);
}
@Test
public
void
testThrowExceptionAndMessageWithRule()
{
expectedException.expect(IllegalStateException.
class
);
expectedException.expectMessage(
"
fail
"
);
throw
new
IllegalStateException(
"expect fail
"
);
}
在stackoverflow中還有人提到了使用google-code中的catch-exception工程,今天沒(méi)時(shí)間看了,回去好好研究一下。地址是:
http://code.google.com/p/catch-exception/
posted on 2012-11-02 15:02
DLevin
閱讀(9657)
評(píng)論(0)
編輯
收藏
所屬分類:
JUnit
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
相關(guān)文章:
JUnit中對(duì)Exception的判斷
深入JUnit源碼之Assert與Hamcrest
深入JUnit源碼之Builder、Request與JUnitCore
深入JUnit源碼之Rule
深入JUnit源碼之Statement
深入JUnit源碼之Runner
Copyright ©2025 DLevin Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
亚洲AV无码乱码在线观看性色扶
|
一个人看的www免费视频在线观看
|
亚洲成年网站在线观看
|
亚洲精品午夜久久久伊人
|
亚洲成年轻人电影网站www
|
亚洲成AV人在线播放无码
|
一区二区三区在线免费观看视频
|
国产精品亚洲一区二区三区在线观看
|
在线观看免费成人
|
妞干网免费视频观看
|
在线免费视频一区二区
|
青青草国产免费久久久91
|
性做久久久久免费看
|
亚洲AⅤ无码一区二区三区在线
|
97热久久免费频精品99
|
国产1000部成人免费视频
|
99视频全部免费精品全部四虎
|
美女又黄又免费的视频
|
五月天国产成人AV免费观看
|
狠狠躁狠狠爱免费视频无码
|
国产成人免费ā片在线观看老同学
|
国产成人综合亚洲绿色
|
手机永久免费的AV在线电影网
|
一级做a爱过程免费视
|
国产成人无码区免费内射一片色欲
|
久久九九AV免费精品
|
xxxxwww免费
|
成年轻人网站色免费看
|
免费看国产曰批40分钟
|
亚洲综合日韩久久成人AV
|
亚洲色欲色欲综合网站
|
波多野结衣亚洲一级
|
国产亚洲精品国产福利在线观看
|
国产精品美女久久久免费
|
亚洲国产精品成人午夜在线观看
|
亚洲日韩AV一区二区三区中文
|
亚洲卡一卡二卡乱码新区
|
噜噜噜亚洲色成人网站
|
日韩a级无码免费视频
|
青青视频观看免费99
|
亚洲av无码国产精品色在线看不卡
|