我们有一个要求,在用户在事件页面输入他们的电子邮件地址时添加一个事件提醒。事件是另一个域对象。我们最初的想法是创建一个客户端域对象和相关的客户端服务:
我们如何在单元测试中验证AddEmailReminder方法确实被调用了?
我的想法:
1.使用工厂创建客户。这样做有点不妥,因为我认为只有在对象创建中存在某些复杂性时才应该使用工厂。
2.糟糕的代码。也许有更好的方法吗?
3.Moq魔法。
另外(也许与此相关),我们如何决定哪个是聚合根?我们已经任意地决定了客户端,但同样可以是事件。我已经阅读并理解了关于聚合根的文章,但在这种情况下仍然不清楚。
public class CustomerService {
public void AddEventReminder(string emailAddress, int eventId) {
var customer = new Customer(emailAddress);
customer.AddEmailReminder(eventId);
}
}
我们如何在单元测试中验证AddEmailReminder方法确实被调用了?
我的想法:
1.使用工厂创建客户。这样做有点不妥,因为我认为只有在对象创建中存在某些复杂性时才应该使用工厂。
2.糟糕的代码。也许有更好的方法吗?
3.Moq魔法。
另外(也许与此相关),我们如何决定哪个是聚合根?我们已经任意地决定了客户端,但同样可以是事件。我已经阅读并理解了关于聚合根的文章,但在这种情况下仍然不清楚。