|
|
1
4
您可以使用Typemock Isolator来规避任何损害可测试性的设计问题。 http://blog.typemock.com/2009/01/isolator-new-vbnet-friendly-api.html
|
|
|
2
3
你能不能把设置器标记为“过时”,并在测试代码中禁用过时的警告?连同适当的文档,这应该可以防止生产代码意外调用它,但仍然可以用于测试。
|
|
|
3
3
混淆使内部完全无法使用,这对我来说已经足够好了,所以我们留在测试方法中(并将其内部化)。
|
|
|
4
3
事实上,你正在走向依赖注入的道路上——你只是还没有意识到:) 将接缝留在原位并没有什么错——你只需要对它们进行建模,这样它们就不会是特定于测试的,而是实际上 增强 Testability Is Really The Open/Closed Principle . 在您的特定情况下,您应该对MethodLogger类进行一些更改:
|
|
|
5
2
生产代码应独立于测试/调试代码。 我建议研究依赖注入来帮助单元测试。 |
|
|
6
2
|
|
|
7
2
根据Michael Feathers的《有效使用遗留代码》一书,如果你为设置器命名一些特定的测试名称,似乎会更好。 例子: SetTestingLogger(IMethodLogger记录器) 我还将删除预处理器语句。这本书还指出,我引用
结论: 似乎最好把这些钩子放进去,因为你放置它是为了测试,并最终消除错误。 本书中的“介绍静态设置器”部分对此进行了更详细的解释。我会推荐这本书作为每个开发人员都应该拥有的书。 |
|
|
8
1
在我看来,这似乎是IoC容器的主要候选者。我会让我的记录器不是静态的,并为测试、开发和生产设置不同的配置。 |
|
|
9
1
StructureMap ,在运行时根据各种配置分配混凝土。在单元测试期间,您可以使用以下库 Moq 制造以预期方式运行的混凝土(总是返回相同确切结果的SQL查询),尽管在您的特定情况下,您执行的是相反的操作(在单元测试期间进行所需的日志记录,而在生产运行时不进行日志记录)。 |
|
|
10
1
这是一种内部方法。只需保持原样,不进行条件编译,只需 呼叫 保留钩子并没有什么错——事实上,你甚至可能想考虑制作这个方法 并允许任何代码更改日志挂钩。 再次查看您的代码;你甚至都不知道 需要
|
|
|
11
0
对。您要做的是添加一个条件编译符号。您可以在“构建”选项卡下的项目属性中执行此操作。您可以在配置管理器中创建不同的构建配置,并仅将您的TEST符号添加到新配置中。 |
|
|
wavesinaroom · 断言结构向量长度 1 年前 |
|
|
Tim Kirkwood · 比较空数据帧 1 年前 |
|
Kamran Khan · 使用单元测试ASP。NET核心 1 年前 |
|
|
paymer · 为什么我的代码没有删除我的单元测试生成的zip文件? 1 年前 |
|
|
Ricky Mo · 角度测试如何模拟导入的const 1 年前 |
|
|
Natty · Visual Studio中缺少“代码覆盖率结果” 1 年前 |