使用TDD和断言时要测试什么

2024-03-28 13:21:07 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我是TDD和Python的新手。我不是靠写代码为生,但我确实写了很多代码。你知道吗

我正在将一个大型项目从Matlab迁移到Python。1) 由于语言的局限性,以及2)在分析边缘案例和调试时,我开始破坏我正在修复的东西。所以我决定从头开始,这次用TDD。你知道吗

我得到TDD循环(红,绿,折射)。问题是,一个测试是什么?对于单个单元/函数,您编写了多少个测试?在这种情况下,我已经在我的头脑中的整个项目,即使有一些库,结构,语言之间的变化。你知道吗

而且,我也听说到处都使用断言,真恶心。但有时我似乎在写测试来验证我的断言。为每个参数编写一个有效的输入类型测试,一次编写一个函数,这似乎是浪费时间。你知道吗


Tags: 项目函数代码语言情况断言边缘案例
1条回答
网友
1楼 · 发布于 2024-03-28 13:21:07

你已经在那些试图接受测试的程序员身上遇到了非常普遍的现实(对你有好处!)-单元测试在很大程度上很糟糕。或者至少是一个错误的工具,你试图做什么。 这就是为什么我建议你放弃单元测试的异端,接受行为测试的优雅和美丽。甚至还有一个非常棒的库:behave。你知道吗

这不仅允许您重新使用代码,而且还迫使您用简单的英语描述应用程序的逻辑(如果操作正确,相当于正确的文档),这有助于缩小可能出现的逻辑漏洞和其他设计缺陷。它还消除了“测试什么”的问题,因为对于BDD,您应该测试应用程序的所有行为方式。你知道吗

在您的特定案例中,您肯定也会对场景大纲功能感兴趣,在这里您可以编写一次测试代码,然后只需编写一长串由该代码运行的示例。你知道吗

相关问题 更多 >