使用TDD和断言时要测试的内容

时间:2015-04-27 11:44:27

标签: python matlab unit-testing tdd

首先,我是TDD和Python的新手。我不是为了生活而编码,但我写了很多代码。

我正在将一个大项目从Matlab迁移到Python。 1)因为语言一直在限制,2)在分析边缘情况和调试时,我开始像我正在修复那样打破。所以我决定这次用TDD从头开始。

我得到了TDD循环(红色,绿色,折射器)。问题是,一个测试是什么?对于单个单元/功能,您要编写多少个测试?在这种情况下,我已经掌握了整个项目,尽管语言之间会有一些库和结构性的变化。

另外,我听到广告在任何地方使用断言令人作呕,所以我是。但有时似乎我正在编写测试来验证我的断言。并且为每个参数编写有效的输入类型测试似乎是浪费时间,一次只能编写一个函数。

1 个答案:

答案 0 :(得分:0)

你试图接受测试的程序员(对你有好处)遇到了非常普遍的认识 - 大多数情况下,单元测试很糟糕。或者至少是一个错误的工具,你正在尝试做什么。 这就是为什么我建议您放弃单元测试的异端,并拥抱行为测试的优雅和美丽。甚至有一个很棒的图书馆:behave

这不仅允许您重复使用代码,而且还强制您用简单的英语描述应用程序的逻辑(当正确完成时,相当于正确的文档),这有助于缩小逻辑漏洞和其他设计可能出现的非感官。它还消除了“测试内容”的问题,就像BDD一样,您应该测试应用程序的各种行为方式。

在您的特定情况下,您肯定也会对场景概要功能感兴趣,您可以在其中编写一次测试代码,然后编写一长串示例来运行此代码。