bx2*_*bx2 7 python django tdd bdd unit-testing
我最近正在阅读"以测试为导向的面向对象的软件".本书的作者总是开始开发一个端到端验收测试功能(在开始TDD周期之前),以便不会松开进度轨道并确保在单元测试时你仍然在同一页面上.
好的,所以我开始在python + django中编写一个简单的应用程序,只是为了尝试这种方法.我希望用户能够通过联系表单提出问题,然后应该将问题存储在数据库中,并且应该发送完成后的信号通知邮件程序,它将发送后续邮件.
问题是 - 在这种情况下你将如何进行首次端到端测试?你是否已经在第一次测试中包含了所有可能性,或者我可能误解了整个技术.
任何例子都是最受欢迎的.
您根本不必在验收测试中包含所有可能性 - 您仍然需要编写单元测试。所以我想说,一个单一的测试“用户可以填写表单,保存并加载它”就足以开始。然后,如果您认为系统的某个特定方面足够重要以至于需要验收测试,则可以添加更多测试。不要担心在这里处理所有的可能性,您仍然会编写大量的单元测试,在其中测试所有内容!
最简单的开始方法是与代码并行地扩展验收测试:因此从测试用户可以输入数据开始,实施它直到它停止失败,然后向测试添加用户必须加载此数据的条件在你开始编写生产代码之前,需要一段时间来实现验收测试的初始基础设施,但无论如何你都无法逃避它,而且预先进行测试有很多好处。