EUnit是一种用于Erlang编程语言的单元测试框架。它要求被测试函数返回{ok, Value}
的原因是为了实现测试结果的准确判断和数据提取。
{ok, Value}
的形式,可以清楚地表示函数执行成功,并且提供了一个值供进一步验证。如果函数返回其他形式的结果,无法明确表达执行成功的状态,将会导致测试结果的不准确性。{ok, Value}
的形式可以让我们轻松地从结果中提取需要的数据进行进一步处理或验证。比如,我们可以使用模式匹配来获取返回值中的具体数据,这在测试中非常方便。举例来说,假设我们有一个函数add/2
用于两个整数相加,期望返回它们的和。如果函数返回的结果是整数类型,那么在进行测试时,我们无法区分是否执行成功以及获取具体的计算结果。而使用{ok, Value}
的形式,我们可以这样断言和提取结果:
add_test() ->
Result = add(2, 3),
?assertEqual({ok, 5}, Result),
{ok, Sum} = Result,
?assertEqual(5, Sum).
上述代码中,?assertEqual/2
用于断言结果是否与期望值相等,{ok, Sum} = Result
则用于从结果中提取和值并进行进一步验证。
根据上述理由,EUnit鼓励使用{ok, Value}
的形式,以确保测试结果的准确性和方便性。
领取专属 10元无门槛券
手把手带您无忧上云