【问题标题】:How to Unit testing in CQRS Pattern C#如何在 CQRS 模式 C# 中进行单元测试
【发布时间】:2022-10-17 20:50:27
【问题描述】:

我需要知道如何在 CQRS 模式中进行单元测试。作为初学者,我对此没有太多想法。我在命令和查询下开发。我需要测试那些

这是我的添加学生命令

 public record AddStudentCommand(Student student):IRequest<Student>;

听到是我的添加学生哈德勒

 public class AddStudentHandler : IRequestHandler<AddStudentCommand, Student>
{
    private readonly appDbContext _context;
    public AddStudentHandler(appDbContext context)
    {
        _context = context;
    }

    public async Task<Student> Handle(AddStudentCommand request, CancellationToken cancellationToken)
    {
        _context.students.Add(request.student);
        await _context.SaveChangesAsync();
        return request.student;
    }
}

这是获取所有学生查询

public record GetAllStudentDataQuery : IRequest<IEnumerable<Student>>;

这是我的获取所有学生处理程序

public class GetAllStudentHandler : IRequestHandler<GetAllStudentDataQuery, IEnumerable<Student>>
{
    private readonly appDbContext _context;
    public GetAllStudentHandler(appDbContext context)
    {
        _context = context;
    }

    public async Task<IEnumerable<Student>> Handle(GetAllStudentDataQuery request, CancellationToken cancellationToken)
    {
        return _context.students;
    }
}

我需要对这些方法进行单元测试。

【问题讨论】:

  • 在每个文本中模拟依赖项并将它们注入到被测对象中。接下来使用必要的参数调用被测成员(即:句柄),最后断言/验证预期的行为。

标签: unit-testing testing asp.net-web-api cqrs


【解决方案1】:

设计模式无关紧要。你需要学习 -什么是单元测试_ - 你应该使用哪个框架? 你应该从https://xunit.net/docs/getting-started/netfx/visual-studio开始

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    相关资源
    最近更新 更多