![]() |
1
4
你错过了单元测试的要点。它们是“证据”。你无法从逻辑上证明一个否定的断言,所以即使尝试也没有意义。 每个单元测试中的断言应该证明所需的行为已经完成。这就是全部。 如果我们把这个问题简化为荒谬的话,每个单元测试都会要求我们断言被测试的功能没有引发热核战争。 单元测试包括 不 您需要执行的唯一类型的测试。有功能测试、集成测试、可用性测试等。每种测试都有自己的重点。对于单元测试,重点是证明单个函数的预期行为。因此,如果函数应该完成两件事,只需断言这两件事都发生了,然后继续。 |
![]() |
2
2
确保没有“坏”或意外情况发生的选项之一是确保使用依赖注入和模拟的良好实践:
在上述示例中,如果
|
![]() |
3
2
对您的编辑进行一些补充: 在里面 Test Driven Development 您只编写代码,只需通过测试即可。此外,您希望选择最简单的解决方案来实现此目标。 也就是说,您很可能会从失败的单元测试开始。在您的情况下,您不会在一开始就得到一个失败的单元测试。
如果你把它推到极限,你必须检查一下
|
![]() |
4
1
如果“检查没有发生任何其他情况”的范围是为了确保模型的状态没有改变,那么问题就是这样。 编写一个helper函数,该函数在事件之前获取模型,在事件之后获取模型,并对它们进行比较。让它返回更改的属性,然后您可以断言,只有那些您想要更新的属性才在返回列表中。这种助手是可移植的、可维护的和可重用的 检查模型状态是单元测试的有效应用。 |
![]() |
5
0
这仅在引用透明的语言(如Safe Haskell)中才可能实现。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |