是否可以为依赖于用户输入的模块编写自检?

时间:2012-05-10 08:37:17

标签: perl unit-testing user-input

是否可以为依赖于用户输入的模块编写自检,或者这通常是不是因为用户输入错误的可能性太大了?

编辑:

假设我有一个函数在用户点击Hello World时返回up_key - 然后在测试错误键击的后果之前我想测试函数是否真的返回{{1如果Hello World被按下了。

2 个答案:

答案 0 :(得分:9)

为需要在部分输入的单元编写测试是正常的,因为“用户会犯错误”。您必须确定有效输入和无效输入之间的差异。单元/模块应该进行测试,不仅要看到它使用有效输入做正确的事情,而且要测试它是否正确无效输入(例如,识别它并返回适当的错误)。

即,部分测试应该故意输入无效输入。

答案 1 :(得分:3)

我通常认为用户输入是黑盒子,附在主应用程序上。在测试时,这个黑盒实际上很容易用一些模拟对象替换;那么这个对象的属性将被用作测试参数。

顺便说一下,你不是也会以某种方式处理错误的输入吗? )