我正在尝试将JustMock Lite用于UnitTest,该方法使用SqlConnection来调用存储过程。我显然需要模拟数据库调用。我一直在寻找,甚至很难找到甚至提到这样做的东西。我最近的是以下内容:
http://www.telerik.com/blogs/working-with-mock-behaviors-in-justmock
现在,我已经尝试了这个,但看起来这需要JustMock上的完整版本(我还在努力让它们为春天做准备)。无论如何在没有完整版本的情况下测试这种行为吗?
由于
答案 0 :(得分:0)
SqlConnection
继承自MarshalByRefObject
,这意味着您应该能够使用Mock.Create<SqlConnection>()
创建对它的模拟并将其安排到您心中。如果你还需要模拟SqlConnection
的构造,那么你需要完整的验证。
更清晰的设计是在测试代码中不依赖SqlConnection
,而是依赖于IDbConnection
。然后,具体的连接对象(无论是SqlConnection
还是模拟IDbConnection
)可以由类的使用者传入。
如果您在嘲笑和安排任何这些课程时遇到特定问题,请在您的问题中详细说明,最好使用代码片段来说明问题。