用途:为 VanDaemon 编写单元测试与集成测试,覆盖服务、控制器、插件等。
主要能力:以 Arrange-Act-Assert 组织用例;使用 [Fact] 单用例、[Theory] 配合 [InlineData] 参数化、[Collection] 共享测试上下文;用 FluentAssertions 编写可读断言,用 Moq Setup/Verify 定义与校验模拟行为;测试项目命名为 {Project}.Tests。
使用方式:服务测试中构造 Mock<ILogger<T>>、Mock<ISensorPlugin> 等注入目标服务,再断言结果,例如 result.Should().NotBeNull()、AllSatisfy(t => t.IsActive.Should().BeTrue())。涉及 JsonFileStore 时建议使用临时目录隔离数据,测试结束在 finally 中删除目录。测试异步方法并传 CancellationToken 时,可用 Setup 返回固定值,再用 Verify 校验调用次数。集合断言可用 HaveCount、ContainSingle、AllSatisfy、BeInAscendingOrder。
运行命令:dotnet test VanDaemon.sln(全部测试);dotnet test --filter "FullyQualifiedName~TankService"(指定类);dotnet test --verbosity normal(查看输出);dotnet test --collect:"XPlat Code Coverage"(含覆盖率)。
适用场景:新增测试、补充测试覆盖率、验证服务/控制器/插件行为。
限制:仅面向 .NET 与 xUnit 生态,依赖 FluentAssertions 与 Moq;具体安装步骤、版本与收费信息暂未提供。