unit-testing - 在进行 TDD 时,您如何保持纪律?

标签 unit-testing tdd methodology

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

5年前关闭。




Improve this question




当我对即将实现的新功能或我刚刚“理解”的错误感到兴奋时,就会有一种直接跳入代码并进行黑客攻击的冲动。阻止自己这样做并首先编写相应的测试需要一些努力。后来的测试经常被证明是微不足道的 4 行,但在写它之前,脑子里仍然有一个想法,“也许我可以跳过这个,这一次?”理想情况下,我想有一种写测试的冲动,只有这样,也许,代码:)

你用什么方法(或思维方式、思维技巧或自我奖励政策或其他什么)来帮助维持纪律?或者你只是练习它直到感觉自然?

最佳答案

我喜欢测试的即时反馈,这对我来说已经足够了。如果我能在测试中重现一个感觉良好的错误,我知道我正朝着正确的方向前进,而不是猜测和可能浪费我的时间。

我喜欢测试优先,因为我觉得它让我更了解代码实际在做什么,而不是基于可能不准确的心理模型进行猜测。能够反复确认我的假设对我来说是一个很大的返回。

关于unit-testing - 在进行 TDD 时,您如何保持纪律?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1876947/

相关文章:

unit-testing - 需求不明确的 TDD

swift - 模拟 UNNotificationResponse 和 UNNotification(以及其他带有 init() 标记为不可用的 iOS 平台类)

php - 使用 php/ajax/mysql 将记录添加到数据库中的最佳方法?

C# 最佳实践 : Unit Testing code that refers to utilizes other methods?

PHPUnit 测试 - Controller 或模型

mysql - 当我在测试期间更改表时,为什么我的 Django 测试套件无法在测试之间刷新数据库?

ruby - 类型错误 : can't define singleton (RSpec)

java - 使用 TDD : File Synchronization with Client/Server

terminology - 软件开发方法论

project-management - Scrum 实践与敏捷实践有何不同?