![]() |
1
1
首先,该方法是私有的,因此,通常我会说,该方法可能不需要直接进行测试。即使它是用于实际代码的辅助方法,而不是用于测试的辅助方法,也可能只希望通过公共接口间接测试它。 第二,如果您确实想测试它——也许无论如何——您应该考虑使用工厂来创建对象,而不是直接实例化对象。结合使用工厂和接口,可以将依赖项抽象出来。只需将工厂注入包含此方法的类的构造函数中,并将其用作此方法中的属性来创建适当的对象。如果你走这条路,你也会发现工厂也是逻辑创建D的地方。 如果代码是生产代码的话,这绝对是我的方向。下面的例子:
|
![]() |
2
3
要回答您的第一个问题,是的,您应该测试这个方法。测试这个方法要比写整个帖子花费更少的精力,并且会给你关于运输代码的验证。 就如何实现这一点而言,这取决于你打算用这种方法做什么。以下是假设函数行为合理的情况下可以测试的内容
|
![]() |
3
2
当你遇到这样的问题时,记住一件好事就是 小事一桩 . 设置方法需要很简单。拆卸方法必须是琐碎的。辅助方法可以是非常重要的——如果它们有自己的测试集。 如果单元测试本身变得如此复杂, 需要 为了测试它们,你做错了。 |
![]() |
4
1
你应该测试这个方法。你应该测试它,因为它可能会失败;一条xp格言是 测试所有可能损坏的部件 . 现在,这并不意味着您必须为它创建新的测试;它可以通过其他方法间接地进行测试。如果它是在重构过程中提取的,那么它可能已经过测试。 如果需要,测试它的一种方法是将它提取到一个助手类中,在该类中它不是私有的,并将其拆分为多个函数,以便能够注入依赖项。
|
![]() |
5
0
该方法感觉像是属于工厂类或生成器类,而不是私有方法。如果您将实例化代码作为私有方法隐藏起来,那么它将不具有优雅的可测试性。 |
|
wavesinaroom · 断言结构向量长度 5 月前 |
![]() |
Tim Kirkwood · 比较空数据帧 6 月前 |
![]() |
Kamran Khan · 使用单元测试ASP。NET核心 10 月前 |
![]() |
paymer · 为什么我的代码没有删除我的单元测试生成的zip文件? 11 月前 |
![]() |
Ricky Mo · 角度测试如何模拟导入的const 11 月前 |
![]() |
Natty · Visual Studio中缺少“代码覆盖率结果” 1 年前 |