我刚刚发现了测试驱动开发,我真的很喜欢它的外观并想开始,但是我的脑海中似乎有一个主要问题。与我看到的大多数其他负面评论不同,例如启动速度慢或增加了额外的时间等(我不同意这些观点)。我的问题是它看起来很……笨重。
这就是我的意思。
如果我要编写一个测试(使用 python 和 pytest)
def multiply_3_4():
answer = 3 * 4
assert answer == 12
您编写空测试并使其因空而失败。然后你填写代码让它通过。
但是我的问题是,好的,所以你现在有工作代码,然后你将工作代码块从测试函数复制并粘贴到你的主程序中?您进行了一些更改,然后将该部分复制回测试功能以重新测试它以确保您没有破坏任何内容并再次复制回主程序等?
在我看来,这有点脱节/笨拙或不无缝。有没有办法让你的测试链接到你的应用程序代码中,比如有标签,比如
# Test 1 starts here
code
code
code
# Test 1 ends here
然后测试功能将看到这一点并使用该代码块运行测试,使其更加无缝体验。
不容易复制和粘贴错误或在文件和测试函数之间复制代码等混乱。
所以我的问题是,我说的对吗?或者是否有特定类型的工作流以更优雅/无缝的方式在测试和实际应用程序代码之间进行?
这是让我远离 TDD 的唯一原因。