为单元测试模拟nhibernate getNamedQuery的正确方法
本文关键字:方法 getNamedQuery 单元测试 模拟 nhibernate | 更新日期: 2023-09-27 18:26:58
我设置了一个命名查询,用于针对我的Oracle DB:调用存储过程
<sql-query name="GetClientRegCode">
{ call get_registration_code(:in_param1, :in_param2, :in_param3) }
我在代码中这样称呼它:
var regCodeData = _sessionManager.GetSession().GetNamedQuery("GetClientRegCode")
.SetParameter("in_param1", p1)
.SetParameter("in_param2", p2)
.SetParameter("in_param3", p3)
.List<object[]>()
.ToList();
我已经能够嘲笑我的会话管理器GetSession()
。如何嘲笑NamedQuery GetClientRegCode?
不要这样做。针对数据访问层编写集成测试。在"更高"的层中,使用fake/mok/stub作为数据访问层。
不要嘲笑你不拥有的