我应该测试纯CQRS命令吗



我正在使用CQRS对应用程序进行编码。我有我的命令和命令处理程序。我会测试我的命令处理程序。但是你应该推荐测试命令吗?最好的策略是什么?我应该测试所有的验证可能性吗?你们怎么样?

using System;
using Flunt.Notifications;
using Flunt.Validations;
using Todo.Domain.Commands.Contracts;
namespace Todo.Domain.Commands
{
public class CreateTodoCommand : Notifiable, ICommand
{
public CreateTodoCommand() { }

public CreateTodoCommand(string title, string user, DateTime date)
{
Title = title;
User = user;
Date = date;
}

public string Title { get; set; }
public string User { get; set; }
public DateTime Date { get; set; }

public void Validate()
{
AddNotifications(
new Contract()
.Requires()
.HasMinLen(Title, 3, "Title", "Please, describe better your task!")
.HasMinLen(User, 6, "User", "Invalid User!")
);
}
}
}

是否应该推荐测试命令?

  • 您多久更改一次命令
  • 更改命令时出现错误的可能性有多大
  • 这个错误逃脱到释放的代价有多高
  • 测试有多贵

命令在输入边界附近,我们在输入边界周围遇到的一个常见问题是解析一些通用数据结构,以确保它满足我们定制的约束。

解析是否需要测试?好吧,这是合乎逻辑的(不止一种可能的结果(,所以它肯定是一个需要考虑的候选者。

机会是:你对上面的问题没有特别具体的答案。在这种情况下,我会在引入测试方面犯错误:因为测试为你提供了一种收集数据的方法,随着时间的推移,这将改善你的答案。

最新更新