BitzOrcas.Architecture.Tests 执行架构规则检查,这些规则通常只能在代码审查中发现。这些测试防止结构性违规积累。
检查内容
| 规则 | 描述 |
|---|---|
| 模块边界 | 模块不直接引用其他模块内部 |
| DI 注册 | 所有必需的服务已注册且可解析 |
| 命名约定 | 实体名称遵循 biz_/sys_ 前缀约定 |
| 依赖方向 | Domain → Application → Infrastructure(永不反向) |
| AOT 兼容性 | AOT 启用的项目中无重度反射模式 |
模块边界验证
使用 NetArchTest 或自定义反射检查:
// 验证模块不依赖彼此的内部var result = Types.InAssembly(moduleAssembly) .ShouldNot() .HaveDependencyOn(otherModuleAssembly) .GetResult();DI 注册测试
验证所有必需服务可被解析:
[Fact]public void CoreRuntime_AllRequiredServices_ShouldBeResolvable(){ var services = new ServiceCollection(); services.AddBitzOrcasCoreRuntime(MockConfiguration);
var provider = services.BuildServiceProvider(); provider.GetRequiredService<ICorrelationContext>(); provider.GetRequiredService<IAppClock>(); provider.GetRequiredService<IAuditLogger>(); // ... 所有核心服务}运行
dotnet test tests/BitzOrcas.Architecture.Tests