【发布时间】:2017-01-24 16:21:30
【问题描述】:
我试图在单元测试会话的 Resharper 输出中显示我的 XUnit 2.x 单元测试中的 nhibernate sql 语句,但它确实记录了 sql 语句。
使用 MSpec 测试 没有问题,并且显示了 sql 语句。对于 XUnit 1.x,我认为 sql 语句也被记录了。
我已经通过属性show_sql配置了NHibernate
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="show_sql">true</property>
</session-factory>
</hibernate-configuration>
XUnit 2 中有 a change 是如何捕获输出的,但我不确定如何将它与 NHibernate 结合起来记录 sql 语句。
那么有没有人解决这个问题?我试图避免在我的单元测试中集成 log4net,只是为了记录这些语句。
XUnit 2.1, NHibernate 4.0, ReSharper 2016.3.1, 视觉工作室 2013
【问题讨论】:
-
使用 xUnit 的
ITestOutputHelper和此处建议的拦截器可能可行:stackoverflow.com/a/2874025/1162077
标签: c# unit-testing nhibernate resharper xunit