详解.Net单元测试方法
程序员文章站
2022-03-09 21:37:21
1、测试异常
可以直接对方法进行异常测试,也可以对模拟对象进行异常测试,但是,对模拟对象进行异常测试,很少用,所以,这里就介绍对方法的异常测试。请看如下代码,当用户名为空...
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); }