1、測(cè)試異常
可以直接對(duì)方法進(jìn)行異常測(cè)試,也可以對(duì)模擬對(duì)象進(jìn)行異常測(cè)試,但是,對(duì)模擬對(duì)象進(jìn)行異常測(cè)試,很少用,所以,這里就介紹對(duì)方法的異常測(cè)試。請(qǐng)看如下代碼,當(dāng)用戶名為空的時(shí)候,拋出異常。
例如
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public bool Valid( string userName, string passWord) { if ( string .IsNullOrEmpty(userName)) throw new ArgumentNullException( "userName is null" ); var isValid = userName == "admin" && passWord == "123456" ; Log.Write(userName); return isValid; } |
測(cè)試代碼如下
1
2
3
4
5
6
7
8
|
[Test] [ExpectedException( typeof (ArgumentNullException))] public void Vaild_Throw_Test() { MyLogin l = new MyLogin(); l.Valid( "" , "123456" ); } |
2、測(cè)試返回值
這里用到了一個(gè)LastCall的一個(gè)類,比較常用,一些輔助測(cè)試的功能,都在該類中。
測(cè)試代碼如下
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[Test] public void Valid_Return() { MockRepository mock = new MockRepository(); var log = mock.DynamicMock<ILog>(); using (mock.Record()) { log.WriteLog( "admin" ); LastCall.Return(0); } var returnValue = log.WriteLog( "admin" ); Assert.AreEqual(returnValue, 0); } |
原文鏈接:https://blog.csdn.net/whaxrl/article/details/32730383