gpt4 book ai didi

unit-testing - TDD和测试的 "honesty"

转载 作者:行者123 更新时间:2023-11-28 20:01:46 25 4
gpt4 key购买 nike

在进行 TDD 时,我担心测试的“诚实”。测试驱动开发是

  1. 写红色测试
  2. 编写足够的代码使其成为绿色
  3. 重构并让测试绿色化

到目前为止一切顺利。下面是一个应用上述原则的例子,这种例子在教程和现实生活中已经遇到过:

我想检查当前用户的电子邮件是否显示在我的网络应用程序的默认页面上。

  1. 写一个红色测试:“example@user.com”显示在 default_page.html 中
  2. 编写足够的代码使其成为绿色:在 default_page.html 中硬编码“example@user.com”
  3. 通过实现 get_current_user()、其他一些层中的一些其他代码等进行重构,让测试通过。

我对第 2 步感到“震惊”。这里有问题:即使实际上没有任何工作,测试也是绿色的。这里有测试气味,这意味着也许在某个时候有人可以在不破坏测试套件的情况下破坏生产代码。

我在这里缺少什么?

最佳答案

您关于“没有任何效果”的断言是错误的。对于电子邮件地址为 example@user.com 的情况,代码可以正常运行。而且您不需要最后的重构。您的下一个失败测试可能是在用户具有不同电子邮件地址的情况下使其失败。

关于unit-testing - TDD和测试的 "honesty",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26460379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com