gpt4 book ai didi

testing - 测试 Unity 运行时配置

转载 作者:行者123 更新时间:2023-11-28 20:33:58 26 4
gpt4 key购买 nike

有一件事让我对 DI 容器和特定的 Unity 感到困扰,因为这是我使用的。如果我忘记注册一个类型,当我稍后尝试解析一个需要忘记注册的类型时,程序就会崩溃。我以前显式调用 new,编译器会为我检查这个,但现在没有强制检查。

我的resolve调用大部分发生在程序初始化的时候,所以问题不大。但我仍然想测试它,一个想法可能是设置容器注册,然后扫描程序集以查找对 container.resolve 的调用。

我从来没有见过这样的东西,所以我走错路了吗?应该改为对它进行单元/集成测试吗?

最佳答案

有些容器 (StructureMap IIRC) 有一些方法,您可以调用它们来要求它们进行 self 诊断,但 AFAIR Unity 没有这样的方法。

我一直有点怀疑 self 诊断方法能否提供很大的值(value)。它只告诉您您已经注册的组件内部一致,但您仍然可以要求容器解决一开始从未配置的问题。假设您配置了 Foo、Bar 和 Baz。这些可能是一致的,但如果您要求 Qux 怎么办?

self 诊断永远不会捕捉到这种情况。

我宁愿推荐一套集成测试,尝试解析所有适当的输入。如果你关注Register Resolve Release pattern ,对于给定的应用程序,Resolve 方法的输入集应该明确定义。

关于testing - 测试 Unity 运行时配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4721606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com