zoukankan
html css js c++ java
使用NUnit和DynamicMock进行单元测试
using
System;
using
System.Collections.Generic;
using
System.Text;
using
NUnit.Framework;
using
NUnit.Mocks;
namespace
DynamicMockDemo
{
public
class
Person
{
public
Person(
int
id,
string
name)
{
this
.Id
=
id;
this
.Name
=
name;
}
private
int
id;
public
int
Id
{
get
{
return
id; }
set
{ id
=
value; }
}
private
string
name;
public
string
Name
{
get
{
return
name; }
set
{ name
=
value; }
}
}
public
interface
IDB
{
Person GetPersonById(
int
id);
IList
<
Person
>
GetPersons();
void
DeletePerson(
int
id);
}
[TestFixture]
public
class
Dome
{
[Test]
public
void
Test()
{
Person person1
=
new
Person(
1
,
"
aaa
"
);
Person person2
=
new
Person(
2
,
"
bbb
"
);
IList
<
Person
>
persons
=
new
List
<
Person
>
();
persons.Add(person1);
persons.Add(person2);
//
创建Mock对象
DynamicMock dbMock
=
new
DynamicMock(
typeof
(IDB));
//
模拟GetPersonById方法,传入1,返回person1
dbMock.ExpectAndReturn(
"
GetPersonById
"
, person1,
1
);
//
模拟GetPersons,返回persons
dbMock.SetReturnValue(
"
GetPersons
"
, persons);
//
模拟 DeletePerson,传入3,抛出异常
dbMock.ExpectAndThrow(
"
DeletePerson
"
,
new
Exception(
"
删除失败
"
),
3
);
//
获取IDB接口的Mock对象实例
IDB db
=
(IDB)dbMock.MockInstance;
Person testPerson
=
db.GetPersonById(
1
);
Assert.AreEqual(person1.Name, testPerson.Name);
IList
<
Person
>
testPersons
=
db.GetPersons();
Assert.AreEqual(
2
, testPersons.Count);
try
{
db.DeletePerson(
3
);
}
catch
(Exception e)
{
Assert.AreEqual(
"
删除失败
"
, e.Message);
}
}
}
}
查看全文
相关阅读:
14个以春天为主题的网页设计
使用 CSS3 创建下拉菜单
视觉灵感:30个漂亮的的网站设计
Null Object设计模式
js插件库之图像幻灯片和画廊
C#读取HTML文件内容写入记事本
最好的图片水印实现思路
抽奖系统
对过万条数据的数据库字段内容批量替换程序
通用 图片/文字 水印函数
原文地址:https://www.cnblogs.com/xhan/p/1494766.html
最新文章
[在今天的历史]今天各大高校BBS升级/维护通告
GT3.9.5于2月25日发布
写了一个打开最大新窗口的JS
SQL Server2008 R2新特性简介
CAML中比较日期时间类型
Web页面减肥,慎用VS的自动格式化功能!
遭遇Asp.Net长文件名下载的问题和解决办法
SQL Server 2008支持将数据导出为脚本
SQL Server 2008企业试用版到期,升级为企业版
在虚拟机中配置NLB网络负载均衡
热门文章
使用SQL Server维护计划实现数据库定时自动备份
CSS3 基本要素概览
生活如何才能不匆忙?
我差点忘掉这个世界
10个最好的wordpress搜索引擎优化(SEO)插件
漂亮的 CSS3 搜索表单设计
40+ 新鲜漂亮的大背景网站设计
CSS: 清除浮动-使用:Overflow
55+ 网页设计中激发灵感的幻灯片案例
50个漂亮的博客设计
Copyright © 2011-2022 走看看