我正在尝试开始使用Moq并且无法找到任何好的资源来完成我需要的工作.
我有一个数据接口类,它有一个Get方法,它通过存储过程返回一个数据集.这是代码编写的方式,我现在无法改变它,因此必须以这种方式完成.
我想通过模拟数据集并返回数据来测试这个类,所以我不必实际进行数据库调用.
是否有人这样做,如果是这样,哪里是开始这样做的好地方?
您不需要数据库连接来填充DataSet.你可以像这样嘲笑它:
IDataInterface di = new Mock(); DataSet mockDataSet = CreateMockDataSet(); di.Expect(x => x.Get()).Returns(mockDataSet); something.UseDataInterface(di.Object);
但是,填充模拟DataSet非常痛苦.如果我这样做,我通常会在返回的DataSet前放置一个facade接口,这样更容易模拟.或者我更改代码以使用DataTable,这更容易填写.
或者,使用嵌入式数据库(如SQLite或SQL Server CE)进行单元测试.