【发布时间】:2016-11-03 16:36:56
【问题描述】:
boolean function(void)
{
return TRUE;
}
这个函数可以在单元测试期间返回false吗?
详情:
我正在研究在 Tessy 中完成的复杂设备驱动程序的单元测试用例。默认情况下,tessy 将 unsigned char function 的传递值设置为“不相关”。使用该接口,返回值始终为TRUE
现在之前的一位测试人员通过将unsigned char function 的接口设置为“输入”并将其设置为FALSE 来测试此单元,这会导致返回值为FALSE 而不是TRUE。
根据我的理解,这个测试用例似乎无效,因为这个函数不能接受任何输入并且总是返回 true。
【问题讨论】:
-
不,它不能。在任何情况下它都不会返回 false。
-
如果您可以访问代码,您可以在此函数之前将
TRUE定义为0或等效项,然后在其后立即定义它 -
@PaulOgilvie
#ifdef TRUE \ #undef TRUE \ #define TRUE 0 \ #endif怎么样? :) -
由于函数不能返回 false,假设它返回 false 的测试用例确实是无效的,因为永远无法达到该状态;但是,在内部测试该单元的健壮性并防止将来出现错误可能是个好主意。
-
Algirdas,关键是该函数定义总是返回布尔值
true。
标签: c++ c unit-testing embedded driver