使用Joliver CommonDomain/EventStore测试域的示例

7

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

我一直在观看Greg Young的视频,他有一个不错的简单抽象聚合根测试夹具。

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

4个回答

2

2
编辑:由于CommonDomain的不成熟和强制继承,Documently/develop现在采用自己更简单的EventRouter。
是的,我这里有一个示例:https://github.com/haf/Documently,展示了如何将它们一起使用,并且还有测试。
基本上,它使用CommonDomain和EventStore与RavenDB数据库一起使用。
这不是一篇文章,所以我不包含任何必要部分。这是一个示例项目,这就是问题提出者所要求的。我不知道管理员是否愚蠢到相信“我没有任何样本”是真正的答案,但如果他们想要证明自己的权威,那么为什么不删除被提问者选为“答案”的非答案,而删除真正的和正确的答案呢?

不确定你在最后一段讲什么,但感谢提供链接 - 我稍后会看一下 :) - user156888
https://github.com/haf/Documently/blob/develop/src/Documently.Infrastructure/Installers/EventStoreInstaller.cs#L46 上的第46行似乎有一个重复的 UsingRavenPersistence - 这是一个错误吗? - user156888
另外,在 https://github.com/pjvds/Scrumr/blob/master/src/Scrumr.Domain.Tests/AggregateRoots/ProjectScenarios/When_creating_new_Project.cs 的第24行 - PublishedEvents 属性现在是 UncommittedEvent 列表而不是 SourcedEvent - 你有任何想法吗? - user156888
没有,我没有看过那个项目。我没有研究NCQRS,因为它假定2PC,而我不想要那个(我希望有选择性)。已经修复了那个bug,我知道那个解决方案中还有一堆更多的bug,包括仓库中公共域事件流缓存、消息重新排序等等,但我们正在努力使Documently成为这些问题的首选之地。 - Henrik
嘿,有没有什么地方可以询问关于Documently的问题?我看到https://github.com/haf/Documently/blob/develop/src/Documently.Specs/AggregateRootTestFixture.cs已经被注释掉了?你知道为什么吗? - user156888
您可以使用项目的问题来讨论它。由于这是一个展示东西的项目,如果某些内容不清楚,那么就存在问题。代码被注释掉了,因为我没有关心文档 AR state 的用例,所以我不需要它。不过我意识到将来可能会需要它。现在,我已经将其删除了。 - Henrik

1

1

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

尽管如此,可以轻松地将Greg Young示例代码中发现的相同约定应用于CommonDomain库。此外,这两个库中的所有内容都遵循一个界面,如果需要的话,应该相对容易进行模拟。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接