上善若水
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
首頁
新隨筆
新文章
聯系
聚合
管理
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
常用鏈接
我的隨筆
我的文章
我的評論
我的參與
最新評論
留言簿
(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)
學習積累(6)
收藏(12)
深入JVM(9)
深入源碼(2)
經驗積累(6)
金融知識(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
董的博客-大數據相關
董的博客-大數據相關
最新隨筆
1.?使用NamedParameterJdbcTemplate遇到無法使用的坑
2.?SSTable詳解
3.?[轉]高性能IO模型淺析
4.?Netty3架構解析
5.?Intercepting Filter模式詳解
6.?Reactor模式詳解
7.?深入HBase架構解析(二)
8.?深入HBase架構解析(一)
9.?Log4J引起的程序“裝死”
10.?實現自己的Lock對象
搜索
積分與排名
積分 - 895164
排名 - 42
最新評論
1.?re: 深入源碼之SLF4J
評論內容較長,點擊標題查看
--Rookie
2.?re: Reactor模式詳解
netty的Selector.select是使用系統的select實現的么?這個好像不大好,印象中好像是用epoll實現的?
--戈風
3.?re: 【轉】關于AccessController.doPrivileged
其實具體什么情況下需要用到AccessController.doPrivileged,平常業務代碼基本不會用到,難道是在寫框架的時候需要用到?什么類型的框架和場景?
--Kingson
4.?re: 使用XStream序列化、反序列化XML數據時遇到的各種問題
繼承上,子類對象 在toxml時, XStream只將子類的屬性轉xml了, 父類的屬性沒轉換xml為何呢?
--MR熊
5.?re: 深入Jetty源碼之SecurityHandler
我想問一下,你這個有沒有樣例可以參考一下,我剛入jetty不久,對于這個LoginService的配置不是很熟悉,可以介紹一下,郵箱1204219804@qq.com
--小zhao
閱讀排行榜
1.?Reactor模式詳解(112322)
2.?深入HBase架構解析(一)(60733)
3.?Java Cache系列之Guava Cache實現詳解(25420)
4.?使用XStream序列化、反序列化XML數據時遇到的各種問題(25027)
5.?深入Log4J源碼之Log4J Core(23985)
評論排行榜
1.?equals方法實現小記(10)
2.?深入JUnit源碼之Runner(8)
3.?[多問幾個為什么]為什么匿名內部類中引用的局部變量和參數需要final而成員字段不用?(8)
4.?深入Log4J源碼之Log4J Core(5)
5.?finally知多少(5)
JUnit中對Exception的判斷
說來慚愧,雖然之前已經看過JUnit的源碼了,也寫了幾篇博客,但是長時間不寫Test Case,今天想要寫拋Exception相關的test case時,竟然不知道怎么寫了。。。。。好記性不如爛筆頭,記下來先~~
對于使用驗證Test Case方法中拋出的異常,我起初想到的是一種比較簡單的方法,但是顯得比較繁瑣:
@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注解。
個人偏好用Test注解中的expected字段,它先的更加簡潔,不管讀起來還是寫起來都很方便,并且一目了然:
@Test(expected
=
IllegalStateException.
class
)
public
void
testThrowException()
{
throw
new
IllegalStateException(
"
test
"
);
}
@Test(expected
=
IllegalStateException.
class
)
public
void
testNotThrowException()
{
System.out.println(
"
No Exception throws
"
);
}
對Rule注解的使用(只有在JUnit4.7以后才有這個功能),它提供了更加強大的功能,它可以同時檢查異常類型以及異常消息內容,這些內容可以只包含其中的某些字符,ExpectedException還支持使用hamcrest中的Matcher,默認使用IsInstanceOf和StringContains Matcher。在BlockJUnit4ClassRunner的實現中,每一個Test Case運行時都會重新創建Test Class的實例,因而在使用ExpectedException這個Rule時,不用擔心在多個Test Case之間相互影響的問題:
@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工程,今天沒時間看了,回去好好研究一下。地址是:
http://code.google.com/p/catch-exception/
posted on 2012-11-02 15:02
DLevin
閱讀(9657)
評論(0)
編輯
收藏
所屬分類:
JUnit
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
JUnit中對Exception的判斷
深入JUnit源碼之Assert與Hamcrest
深入JUnit源碼之Builder、Request與JUnitCore
深入JUnit源碼之Rule
深入JUnit源碼之Statement
深入JUnit源碼之Runner
Copyright ©2025 DLevin Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
jizz日本免费
|
亚美影视免费在线观看
|
222www免费视频
|
亚洲久本草在线中文字幕
|
久久美女网站免费
|
亚洲AV日韩AV高潮无码专区
|
成人A片产无码免费视频在线观看
|
国产成人麻豆亚洲综合无码精品
|
久久久久久久国产免费看
|
亚洲人JIZZ日本人
|
成人免费区一区二区三区
|
亚洲av专区无码观看精品天堂
|
岛国精品一区免费视频在线观看
|
国产又黄又爽又大的免费视频
|
中文字幕亚洲乱码熟女一区二区
|
精品国产污污免费网站入口在线
|
亚洲一区二区三区乱码A
|
丝袜足液精子免费视频
|
亚洲AV成人片色在线观看
|
69精品免费视频
|
亚洲爆乳少妇无码激情
|
久久久久亚洲av毛片大
|
91禁漫免费进入
|
亚洲欧好州第一的日产suv
|
亚洲国产专区一区
|
日本免费人成网ww555在线
|
久久亚洲精品成人av无码网站
|
欧美男同gv免费网站观看
|
激情无码亚洲一区二区三区
|
亚洲小说区图片区另类春色
|
亚洲最大免费视频网
|
亚洲爆乳少妇无码激情
|
亚洲欧洲∨国产一区二区三区
|
国产在线观看麻豆91精品免费
|
亚洲国产成人无码AV在线影院
|
亚洲精品一卡2卡3卡三卡四卡
|
成年大片免费视频
|
岛国岛国免费V片在线观看
|
亚洲人成电影在线观看网
|
亚洲 综合 国产 欧洲 丝袜
|
99在线观看视频免费
|