首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Eunit坚持我的函数返回{ok,value},而不是呢?

EUnit是一种用于Erlang编程语言的单元测试框架。它要求被测试函数返回{ok, Value}的原因是为了实现测试结果的准确判断和数据提取。

  1. 准确判断:EUnit通过比较返回的结果与期望值来确定测试是否通过。使用{ok, Value}的形式,可以清楚地表示函数执行成功,并且提供了一个值供进一步验证。如果函数返回其他形式的结果,无法明确表达执行成功的状态,将会导致测试结果的不准确性。
  2. 数据提取:{ok, Value}的形式可以让我们轻松地从结果中提取需要的数据进行进一步处理或验证。比如,我们可以使用模式匹配来获取返回值中的具体数据,这在测试中非常方便。

举例来说,假设我们有一个函数add/2用于两个整数相加,期望返回它们的和。如果函数返回的结果是整数类型,那么在进行测试时,我们无法区分是否执行成功以及获取具体的计算结果。而使用{ok, Value}的形式,我们可以这样断言和提取结果:

代码语言:txt
复制
add_test() ->
    Result = add(2, 3),
    ?assertEqual({ok, 5}, Result),
    {ok, Sum} = Result,
    ?assertEqual(5, Sum).

上述代码中,?assertEqual/2用于断言结果是否与期望值相等,{ok, Sum} = Result则用于从结果中提取和值并进行进一步验证。

根据上述理由,EUnit鼓励使用{ok, Value}的形式,以确保测试结果的准确性和方便性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券