上善若水
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)
給我留言
查看公開留言
查看私人留言
隨筆分類
(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ì)象
搜索
積分與排名
積分 - 896733
排名 - 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ì)用到,難道是在寫框架的時(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模式詳解(112369)
2.?深入HBase架構(gòu)解析(一)(60757)
3.?Java Cache系列之Guava Cache實(shí)現(xiàn)詳解(25438)
4.?使用XStream序列化、反序列化XML數(shù)據(jù)時(shí)遇到的各種問(wèn)題(25052)
5.?深入Log4J源碼之Log4J Core(24011)
評(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的源碼了,也寫了幾篇博客,但是長(zhǎng)時(shí)間不寫Test Case,今天想要寫拋Exception相關(guān)的test case時(shí),竟然不知道怎么寫了。。。。。好記性不如爛筆頭,記下來(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)還是寫起來(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
閱讀(9665)
評(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
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
综合在线免费视频
|
永久在线毛片免费观看
|
国产hs免费高清在线观看
|
国产亚洲一区二区在线观看
|
亚洲欧洲另类春色校园网站
|
一级毛片无遮挡免费全部
|
99在线热视频只有精品免费
|
国产成人青青热久免费精品
|
久久精品国产亚洲av影院
|
最新亚洲人成网站在线观看
|
香港a毛片免费观看
|
免费一级国产生活片
|
日本久久久久亚洲中字幕
|
理论片在线观看免费
|
www视频在线观看免费
|
国产精品亚洲产品一区二区三区
|
亚洲午夜久久久精品电影院
|
国产美女视频免费观看的网站
|
久久受www免费人成_看片中文
|
在线观看亚洲精品福利片
|
亚洲日韩国产AV无码无码精品
|
搡女人免费免费视频观看
|
免费网站看v片在线香蕉
|
亚洲久本草在线中文字幕
|
免费精品视频在线
|
国产福利在线免费
|
亚洲成AV人在线播放无码
|
国产91成人精品亚洲精品
|
国产成在线观看免费视频
|
亚洲国产另类久久久精品黑人
|
亚洲 欧洲 日韩 综合在线
|
色www永久免费
|
国产中文字幕免费
|
亚洲黄页网在线观看
|
日本在线看片免费人成视频1000
|
亚洲精品国产日韩无码AV永久免费网
|
亚洲伊人色一综合网
|
免费A级毛片无码视频
|
区久久AAA片69亚洲
|
免费看一级一级人妻片
|
在线成人a毛片免费播放
|