- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果您正处于 TDD 迭代的中间,您如何知道哪些测试失败是因为现有代码确实不正确,哪些失败是因为测试本身或功能尚未实现?请不要说,“你只是不在乎,因为你必须同时解决这两个问题。”我已经准备好摆脱这种心态。
我编写测试的一般做法如下:
首先,我构建了测试套件的整体或部分总体结构。那就是——我只检查并写下测试的名称,提醒我要实现的功能。我通常(至少在 python 中)只是从只有一行的每个测试开始:self.fail()。通过这种方式,我可以通过列出我认为要测试的每个功能来驾驭意识流——比如,一次测试 11 个。
其次,我选择一个测试并实际编写测试逻辑。
第三,我运行测试运行程序并看到 11 个失败 - 10 个只是 self.fail() 和 1 个是真正的 AssertionError。
第四,我编写使我的测试通过的代码。
第五,我运行测试运行程序,看到 1 次通过和 10 次失败。
第六,我转到第 2 步。
理想情况下,我希望有第四种可能性:NotImplemented,而不是通过、失败和异常来看待测试。
此处的最佳做法是什么?
最佳答案
许多 TDD 工具都有 PENDING 测试与 FAILING 测试的概念。我认为 unittest2
也做出了这种区分。
(我认为你如何做到这一点是写:
def test_this_thing(self):
pass
...不过这是凭内存...
[编辑:在 2.7 的单元测试或单元测试 2 中,您可以使用 @skip
或 @unittest.expectedFailure
装饰器标记测试。 See the documentation on this
关于python - TDD实践: Distinguishing between genuine failures and unimplemented features,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8017514/
今天我看了一篇论文: O'Neill, Melissa E., "The Genuine Sieve of Eratosthenes", Journal of Functional Programmi
我已经阅读了很多关于开发类的文章(我使用的是 php),带有标记行:“可扩展、健壮、可维护和可扩展”。 但作为初学者,我一直在创建用我的话来说“只是抽象”的类。这意味着我只是将一堆或重复的代码分开,并
如果您正处于 TDD 迭代的中间,您如何知道哪些测试失败是因为现有代码确实不正确,哪些失败是因为测试本身或功能尚未实现?请不要说,“你只是不在乎,因为你必须同时解决这两个问题。”我已经准备好摆脱这种心
正在关注 M. O'Neill's great paper ,我尝试在 Python 中实现埃拉托色尼筛法的一些懒惰的、无限的版本。我惊讶地发现论文声称应该运行得更快的基于堆的版本实际上对我来说慢了两
我是一名优秀的程序员,十分优秀!