时间:2021-07-01 10:21:17 帮助过:40人阅读
1、测试异常
可以直接对方法进行异常测试,也可以对模拟对象进行异常测试,但是,对模拟对象进行异常测试,很少用,所以,这里就介绍对方法的异常测试。请看如下代码,当用户名为空的时候,抛出异常。
例如
- 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;
- }
测试代码如下
- [Test]
- [ExpectedException(typeof(ArgumentNullException))]
- public void Vaild_Throw_Test()
- {
- MyLogin l = new MyLogin();
- l.Valid("", "123456");
- }
2、测试返回值
这里用到了一个LastCall的一个类,比较常用,一些辅助测试的功能,都在该类中。
测试代码如下
- [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);
- }