3

是否可以为依赖于用户输入的模块编写自测,还是因为用户输入错误的可能性太大而通常不这样做?

编辑:

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

4

2 回答 2

9

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

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

于 2012-05-10T08:46:18.830 回答
3

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

而且,顺便说一句,你不打算以某种方式处理错误的输入吗?)

于 2012-05-10T08:49:44.603 回答