是否可以为依赖于用户输入的模块编写自检,或者这通常是不是因为用户输入错误的可能性太大了?
编辑:
假设我有一个函数在用户点击Hello World
时返回up_key
- 然后在测试错误键击的后果之前我想测试函数是否真的返回{{1如果Hello World
被按下了。
答案 0 :(得分:9)
为需要在部分输入的单元编写测试是正常的,因为“用户会犯错误”。您必须确定有效输入和无效输入之间的差异。单元/模块应该进行测试,不仅要看到它使用有效输入做正确的事情,而且要测试它是否正确无效输入(例如,识别它并返回适当的错误)。
即,部分测试应该故意输入无效输入。
答案 1 :(得分:3)
我通常认为用户输入是黑盒子,附在主应用程序上。在测试时,这个黑盒实际上很容易用一些模拟对象替换;那么这个对象的属性将被用作测试参数。
顺便说一下,你不是也会以某种方式处理错误的输入吗? )