标签: unit-testing coding-style tdd
客户说他想要一个按钮,当按下时,采用下面的表格并将其作为电子邮件发送。你会如何对此进行单元测试?
假设你是:
根据我的理解,您可以使用UI模拟器单击按钮,然后等待一分钟左右,然后使用IMAP计算是否收到的消息比以前多一个。但这听起来几乎违反了几乎所有类别的TDD目标 - 它并不快,它不是原子的,它很复杂,它需要它自己的IMAP依赖。什么是" TDD"这样做的方法?
答案 0 :(得分:1)
您想要测试您的计划的哪一部分?
请注意我在那里突出显示的内容 - 您要测试您的代码。
除非你绝对需要,否则你不会对你的控制进行测试。所以,我想说,如果你使用SMTP / IMAP库 - 你相信他们做了他们应该做的事情,你就不会编写测试来验证,就像你不检查File.write()实际上写的那样提交等等。
File.write()
回到你的问题,请查看创建和适配器/模拟器的电子邮件行为。在测试中使用内存中实现,并在生产代码中使用真实的。
Eric Gunnerson撰写了关于他们的good post以及向github发表了kata