【发布时间】:2011-01-01 22:25:54
【问题描述】:
由于我是 TDD 新手,我目前正在开发一个小型 C# 控制台应用程序以进行练习(因为熟能生巧,对吧?)。我首先对如何组织应用程序(按类)进行了简单的草图绘制,然后开始逐个开发我可以识别的所有域类(当然是先测试)。
最后,必须将这些类集成在一起以使应用程序可运行,即将必要的代码放在调用必要逻辑的 Main 方法中。但是,我不知道如何以“测试优先”的方式完成最后一个集成步骤。
如果我使用“自上而下”的方法,我想我不会遇到这些问题。问题是:我该怎么做?我应该从测试 Main() 方法开始吗?
如果有人能给我一些建议,将不胜感激。
【问题讨论】:
-
您是否有任何高级测试用例,如果通过将确认应用程序正在运行并且问题已解决?证明整个事情有效的东西(当然,将 UI 排除在外)。 (我也是 TDD 新手。)
-
我没有任何高级测试用例,也许这就是缺少的。唯一的问题是:如此高水平的测试会是什么样子?该应用程序仅在控制台中生成文本。我应该断言那里写的是什么吗?
-
当您说“集成”时,这并不意味着您要测试对象的连接是否正确,而是所有类一起按预期工作。现在,大多数人建议您应该有一些测试用例来告诉您是否已完成工作。正如马库斯所指出的,您在主要功能中所拥有的可能是一个测试,一个积极的测试。您会看到,主要方法是在测试驱动应用程序中编写的最后一种方法。我建议你看看验收测试。这本书你可能会感兴趣:growing-object-oriented-software.com
-
是的,澄清一下,我写了“集成”,但意思是“连接”。我现在实际上正在阅读那本书,他们似乎建议您应该按照您的描述设置验收测试。我想这意味着我应该测试实际打印到控制台的内容,例如错误信息?
标签: tdd