正如主题建议的那样,我如何对不返回任何内容的函数进行单元测试(除了简单返回的null检查)?
另外,我如何对函数中的函数进行单元测试,这些函数也不返回任何内容,特别是如果它们位于函数的最后一行?
这个问题背后的原因是我一直在尝试使用Jack和JsMockito来测试我的代码,他们都要求我提供一些似乎由代码中的函数返回的对象,因此我我迷失了如何这样做。
感谢。
编辑:
以下是pesudo代码示例:
function myFunction()
{
local var
null check {
return;
}
null check
{
return;
}
// points to another function
function(param1);
// points to a C# function
function(param1, param2);
}
答案 0 :(得分:3)
当然,您的功能必须对系统/程序产生一些影响或改变,可以在功能之外检测/比较。
如果没有做任何事情=>删除代码,你不需要它!
如果它意图抛出错误,请尝试捕获它们(使包含已知错误参数/条件的调用,然后查看它们是否被捕获。
答案 1 :(得分:2)
你需要弄清楚函数的副作用是什么,然后测试它们是否发生。
上面的代码调用了另外两个函数。因此,您的单元测试将验证它们是否被调用,最有可能是通过某种方式模拟它们。