【发布时间】:2023-03-24 10:48:01
【问题描述】:
我们有一个可以进行复杂计算的核心库,我们认为它至关重要,我们希望该库的代码覆盖率达到 100%。我们现在有 96%,这很好,但由于这个类,我们无法达到 100%:
public class IoCModule : Autofac.Module
{
protected override void Load(Autofac.ContainerBuilder builder)
{
builder.RegisterType<SomeMathServiceA>().As<ISomeMathServiceA>();
builder.RegisterType<SomeMathServiceB>().As<ISomeMathServiceB>();
//... more registrations
}
}
我不知道如何测试它,或者我们是否真的需要测试它。
我已经尝试了一个单元测试,它采用这个模块并创建一个 IContainer 并解决每个寄存器依赖项,但一些服务访问数据库和配置文件,在这种情况下模拟起来非常复杂。
【问题讨论】:
-
100% 在您的脑海中。最好测试可测试的内容并处理它,而不是测试所有内容以获得 100% 并每次运行一些无用的测试。
-
看看这张照片,它不在我的脑海里。
-
我没有说你永远不会成功,我质疑达到 100% 的真正需要。恭喜你登上榜首:)
标签: c# unit-testing code-coverage autofac