![]() |
1
2
我首先锚定代码中最有价值的行为。 例如,如果它是一个验证器,我将首先确保它说有效的对象是有价值的。现在我们可以展示代码,训练用户不要做愚蠢的事情,等等——即使验证器从未得到进一步的实现。之后,我开始添加边缘案例,首先是最危险的验证错误。 如果我从一个解析器开始,而不是从一个空字符串开始,我可能会从一些我想要解析的典型但简单的东西开始,并且我想从中得到一些东西。对我来说,单元测试更像是我想要如何使用代码的例子。
我也遵循BDD命名测试的惯例。
这也与BDD的“外在内”有关。以下是我写的一些博客文章,可能会有所帮助: Pixie Driven Development 和 Bug Driven Development . bug驱动的开发可以帮助我找出我需要的下一个系统级功能,然后帮助我找到下一个单元测试。 希望这能给你一个稍微不同的视角,无论如何-祝你好运! |
![]() |
2
1
首先,我将选择一个简单的典型案例并为它编写一个测试。 在编写实现时,我将注意代码处理错误的角情况。然后我将为这些案例编写测试。 否则,我将寻找问题函数应该做但不应该做的事情。 |
![]() |
S4beR · jest-手表模式错误 7 年前 |
|
M.C · 如何从Ruby TDD哈希数组中返回名称 7 年前 |
![]() |
Maverick94 · Python unitest不工作 7 年前 |
![]() |
erexo · Moq模拟。Of<Obj>vs new Obj(); 7 年前 |
![]() |
jpuriol · JUnit测试中的“单例” 7 年前 |
![]() |
Py.Jordan · 如何在Python中模拟用户输入 7 年前 |