【问题标题】:Verifying contents of NHibernate Criteria验证 NHibernate Criteria 的内容
【发布时间】:2009-11-04 12:05:11
【问题描述】:

我希望使用 NHibernate Criteria API 构建复杂的查询。我想验证条件是否按照我的预期构建,而无需实际运行查询。

这可能吗?有什么优雅的技巧或技巧吗?

【问题讨论】:

    标签: unit-testing nhibernate criteria


    【解决方案1】:

    一位同事最近这样做了

    将每个条件查询封装在它自己的类(规范)中。 构建了一个表达式生成器,它将向字符串输出查询。 测试生成的表达式字符串是否与预期的表达式字符串匹配。

    表达式构建器以递归方式遍历规范中的条件树以生成表达式字符串。

    这是一般的想法,我现在没有代码:) 抱歉。

    但是,我发现编写数据库集成测试来测试 Nh 标准要容易得多。 标准是否真的返回了我期望的数据。

    【讨论】:

    • 听起来和我要做的类似。这是使用访客模式吗?一个构建规范名称的字符串,一个使用规范构建标准?你测试前者但使用后者?
    • 是的,就是这样。还没有找到任何其他方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多