![]() |
1
6
“编写两个测试,还是假设便利重载没有自己的逻辑更好?” 嗯。。。。你的测试不是由“假设”定义的。它们由您测试的类的设计来定义。 你不会做任何基于“假设”的事情。 如果便利函数实际上是一个便利函数,那么 必须 做同样的事 必须 编写一个测试,证明两种不同的方法 事实上 做同样的事。 如果“有” 能够 “不同的逻辑”(1)这不是一个真正方便的功能,(2)你 必须 编写一个测试,证明两种不同的方法 事实上 做正确的事情(逻辑上可能相同,也可能不同,我无法从问题中判断。)
"
避免愚蠢的一致性问题。如果同一个方法有不同的签名,那么这种命名约定不是很好,是吗?尽管存在问题,但忠实地坚持它是愚蠢的一致性。 当你的方法只能通过参数签名来区分时,你不能简单地使用它。所以,只要编一些适合你所有便利功能的东西就行了。 |
![]() |
2
3
我通常做的是用“真实”的方法 事实上的 。这意味着我可以使用特定于测试的派生类(通常由动态模拟创建)测试便利方法,以验证它是否正确调用了“real”方法。 如果“real”方法和便利方法之间的唯一区别是对特定参数使用默认值,那么您可以通过单个单元测试来覆盖这一点,然后继续。 我支持S·洛特关于命名惯例的回答。 |
![]() |
3
1
我经常不会将便利方法测试到与它们调用的核心方法相同的详细程度。例如,您的异常情况。我不会测试两次。我的感觉是单元测试是白盒测试。我被允许了解实施情况。 当然,这可能意味着,当我稍后去重构并向便利方法添加功能时,我会被烧死。但我很擅长做TDD(从第一段可以看出,我不是一个十足的狂热者)。所以我想我很可能会为这个新功能编写一个测试,然后介绍它。 我并不是说这或多或少是正确的。我就是这么做的。 |
![]() |
4
1
我认为答案比你想的更简单:你在乎重载方法是否有效吗?如果你关心它们是否有效,除非你测试它们,否则你如何确定? 编写一个测试,将重载函数的输出与重载函数的输出进行比较,应该需要大约15秒的时间。去做吧,继续前进。 |
![]() |
5
0
如果所有构造函数都调用完全指定的构造函数,我会将测试分解为
|
|
Deconimus · C++模板方法重载和多态性类访问 7 年前 |
![]() |
Vincent · 一种类型特征,标识哪个类提供重载解析选择的函数 7 年前 |
![]() |
Lingxi · C中的默认参数vs重载++ 7 年前 |
![]() |
Slime recipe · 多目标框架导致CS1503 7 年前 |
![]() |
Dick Lucas Carl · 函数重载的替代方法 7 年前 |
![]() |
Ali · Typescript rest参数具有两种可能的数组类型 7 年前 |