0

我正在尝试使用 JustMock Lite 对使用 SqlConnection 调用存储过程的方法进行单元测试。我显然需要模拟数据库调用。我一直在搜索,发现甚至提到这样做都很难找到。我最接近的是以下内容:

http://www.telerik.com/blogs/working-with-mock-behaviors-in-justmock

现在,我已经尝试过了,但看起来这需要 JustMock 上的完整版本(我仍在努力让他们为之努力)。在没有完整版本的情况下无论如何可以测试这种行为?

谢谢

4

1 回答 1

0

SqlConnection继承自MarshalByRefObject,这意味着您应该能够创建它的模拟并将其Mock.Create<SqlConnection>()安排到您心中的内容。如果您还需要模拟 的构造SqlConnection,那么您需要完整的版本。

一个更简洁的设计是不依赖于SqlConnection被测代码,而是依赖于IDbConnection. 然后,类的使用者可以传入具体的连接对象(无论是 的SqlConnection还是模拟的)。IDbConnection

如果您在模拟和安排任何这些类时遇到特定问题,请在您的问题中详细说明它们,最好使用代码片段来演示该问题。

于 2017-01-20T22:58:35.910 回答