【问题标题】:examples of testing the domain using joliver commondomain/eventstore使用 joliver commondomain/eventstore 测试域的示例
【发布时间】:2011-08-04 20:50:03
【问题描述】:

我正在寻找使用 JOlivers CommonDomain 和 EventStore 测试域的好例子

我一直在看 greg youngs 的视频,他有一个不错的简单抽象聚合根测试装置。

有没有类似的东西可以与这些库一起使用?

【问题讨论】:

    标签: c# domain-driven-design cqrs neventstore


    【解决方案1】:

    编辑:由于 CommonDomain 中的不成熟和强制继承,Documently/develop 现在推出了自己更简单的 EventRouter

    是的,我在这里有一个示例:https://github.com/haf/Documently,它展示了如何一起使用它,并且其中也有测试。

    基本上,它所做的就是将 CommonDomain 和 EventStore 与 RavenDB 数据库一起使用。

    这不是一篇文章,所以我不包括它的任何重要部分。这是一个示例项目,这是提问者所要求的。我不知道管理员是否愚蠢到相信答案“我没有任何样本”是真正的答案,但如果他们想维护他们的权威,那么他们为什么不删除非答案被提问者选择为“答案”,而不是删除真实和真实的答案。

    【讨论】:

    • 不确定您在最后一段中在说什么,但感谢您提供的链接 - 我稍后会看看 :)
    • github.com/haf/Documently/blob/develop/src/… 上的第 46 行似乎有重复的 UsingRavenPersistence - 这是一个错误吗?
    • 另外,github.com/pjvds/Scrumr/blob/master/src/Scrumr.Domain.Tests/… 的第 24 行 - PublishedEvents 属性现在是 UncommittedEvent 的列表,而不是 SourcedEvent - 你知道那是什么吗?
    • 不,还没有看过那个项目。我没有进入 NCQRS,因为它假设 2PC,我不想要它(我想选择拥有它)。修复了该错误 - 我知道该解决方案中存在更多错误,包括存储库中的一些公共域中的事件流缓存、消息重新排序等,但我们正在努力使 Documently 成为第一。此类问题的 1 个去处。
    • 嘿 - 有什么地方我可以在文件上询问吗?我看到github.com/haf/Documently/blob/develop/src/Documently.Specs/… 已经被注释掉了?你知道为什么吗?
    【解决方案2】:

    我刚刚用我在各个地方收集的代码(StackOverflowDocumentlyGreg Young's skillcast)推送了NEventStoreExample

    这是NEventStore 的一个非常基本的实现,它使用CommonDomain 来重建聚合状态,并使用EventSpecification 基础测试类来测试聚合行为。

    【讨论】:

      【解决方案3】:

      我怀疑是否有任何公共示例代码可用于使用 CommonDomain 和 EventStore 库测试域模型。在许多方面,用于测试实现 CQRS 的域模型的公共代码非常少。

      尽管如此,在 Greg Young 的示例代码中发现的相同类型的约定可以很容易地应用于 CommonDomain 库。此外,这两个库中的所有内容都遵循一个接口,如果需要,该接口应该相对容易模拟。

      听起来我需要写一篇关于这个主题的博文。

      【讨论】:

        【解决方案4】:

        我在这里发现了一个非常有趣的峰值:http://pastebin.com/upZS72W0

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多