上善若水
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
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
亚洲精品乱码久久久久蜜桃
|
精品亚洲国产成人
|
久久久WWW成人免费精品
|
亚洲精品亚洲人成在线观看下载
|
日韩国产精品亚洲а∨天堂免
|
成人免费视频软件网站
|
亚洲hairy多毛pics大全
|
国产午夜免费秋霞影院
|
男女猛烈激情xx00免费视频
|
久久久久噜噜噜亚洲熟女综合
|
国产VA免费精品高清在线
|
中文字幕一精品亚洲无线一区
|
成在线人视频免费视频
|
亚洲精品高清视频
|
国产精品亚洲成在人线
|
91精品全国免费观看青青
|
亚洲日本中文字幕区
|
成人免费的性色视频
|
亚洲精品无码成人片久久不卡
|
亚洲 无码 在线 专区
|
91精品全国免费观看青青
|
亚洲日本乱码一区二区在线二产线
|
精品久久久久久亚洲精品
|
噼里啪啦电影在线观看免费高清
|
2020因为爱你带字幕免费观看全集
|
亚洲精品国产日韩
|
中国极品美軳免费观看
|
亚洲AV一宅男色影视
|
1000部拍拍拍18免费网站
|
亚洲成av人片在线天堂无
|
不卡一卡二卡三亚洲
|
亚洲高清视频免费
|
色欲aⅴ亚洲情无码AV
|
亚洲成Av人片乱码色午夜
|
69成人免费视频无码专区
|
人妻免费久久久久久久了
|
亚洲欧洲综合在线
|
亚洲A∨午夜成人片精品网站
|
日本卡1卡2卡三卡免费
|
亚洲妇女无套内射精
|
亚洲AV日韩AV永久无码绿巨人
|