我正在寻找一些使用NMock2模拟CRUD应用程序的数据库调用的基本示例。
谢谢,
克里斯
发布于 2009-10-16 19:19:59
设置:
[SetUp]
public void SetUp()
{
mocks = new Mockery();
mockDBLayer = _mocks.NewMock<IDBLayer>();
//Inject the dependency somehow
sut = new SUT(_mockDBLayer );
}测试:
[Test]
public void testMethodName_TestCase()
{
var dbRetrunValue = //whatever type
Expect.Once.On(mockDBLayer).Method("dbMethod").Will(Return.Value(dbRetrunValue));
//exercise
var actual = sut.methodName();
//Assert
...
}验证,如果您想要它
[TearDown]
public void TearDown()
{
mocks.VerifyAllExpectationsHaveBeenMet();
}不过,我更喜欢Moq:http://code.google.com/p/moq/
发布于 2009-10-16 19:26:09
“数据库调用”是一个很难猜测的术语--你是指测试你的DAL,还是测试它上面的一层?
如果你指的是测试你的DAL,你需要看看你是如何得到实际的DataReader或者DataTable,或者其他任何东西的,这样你就可以用模拟来代替它。
请参阅像这样的涵盖IoC and mocking data access的博客文章,或者像这个that cover mocking a datareader这样的文章来开始。
https://stackoverflow.com/questions/1579843
复制相似问题