Skip to content
bitzorcas
EN

Reference

单元测试

单元测试模式 — 领域逻辑测试、值对象、Result\<T\> 验证、IRequestRule 测试和垂直切片单元测试方法。

Last updated

BitzOrcas.Unit.Tests 覆盖领域逻辑、值对象和应用级验证规则——所有无需基础设施依赖的测试。

测试范围

领域示例
值对象EmailAddress 验证、NoteTitle 约束
Result<T>成功/失败创建、错误匹配
领域事件事件构造和属性
IRequestRuleCreateGreetingCommandRule 验证
聚合Note 创建、状态转换
时钟FixedClock 确定性时间测试

示例:Result<T> 测试

[Fact]
public void CreateNote_WithEmptyTitle_ShouldReturnValidationError()
{
// Arrange
var service = new NoteService();
// Act
var result = service.CreateNote("", "content");
// Assert
result.IsFailure.ShouldBeTrue();
result.Error.Type.ShouldBe(ErrorType.Validation);
result.Error.Code.ShouldBe("Note.Title");
}

示例:IRequestRule 测试

[Fact]
public void CreateGreetingCommandRule_ValidName_ShouldPass()
{
var rule = new CreateGreetingCommandRule();
var cmd = new CreateGreetingCommand("Hello");
var errors = rule.Validate(cmd);
errors.ShouldBeEmpty();
}

运行

Terminal window
dotnet test tests/BitzOrcas.Unit.Tests