我正在尝试使用JustMock Lite来UnitTest一个使用SqlConnection调用存储过程的方法。我显然需要模拟数据库调用。我一直在寻找,发现甚至很难找到甚至提到这样做的东西。我最接近的是以下内容:
http://www.telerik.com/blogs/working-with-mock-behaviors-in-justmock
现在,我已经尝试过了,但看起来这需要JustMock上的完整版本(我仍在努力让他们支持它)。有没有办法在没有完整版本的情况下测试这种行为?
谢谢
发布于 2017-01-21 06:58:36
SqlConnection继承自MarshalByRefObject,这意味着您应该能够使用Mock.Create<SqlConnection>()创建它的模拟,并根据自己的意愿安排它。如果您还需要模拟SqlConnection的结构,那么您需要完整的版本。
更简洁的设计应该是在测试代码中不依赖于SqlConnection,而是依赖于IDbConnection。然后,类的使用者可以传入具体的connection对象(无论是SqlConnection还是IDbConnection的模拟)。
如果您在模拟和安排这些类时遇到特定问题,请在您的问题中详细说明,最好使用演示该问题的代码片段。
https://stackoverflow.com/questions/40867999
复制相似问题