与数据库交互而不在数据库中创建数据的单元测试代码

Jef*_*rey 8 c# database unit-testing

我想在Visual Studio中使用单元测试来测试我的C#代码.代码与MySQL数据库交互.

我要测试的一个示例
用户打开我的应用程序,并通过Web服务保存在数据库中.现在我想知道Users在新用户来之前表是否还有一行.但是,如果我在webservice中测试该方法,这将在数据库中创建一条记录,那么测试数据将在数据库中.我不想在我的数据库中测试数据.

有这个问题的解决方案吗?

Lia*_*ath 14

我认为你在寻找的是嘲笑.这允许您模拟数据访问代码以测试业务逻辑.

有很多很好的框架,包括moq和犀牛嘲笑.

如果您想实际填充数据库以测试数据访问层,那么您正在寻找更多的集成测试.我已经写了一个相当完整的答案覆盖我的做法DB集成测试在这里.