单元测试一个在Javascript中不返回任何内容的函数

时间:2009-10-27 05:30:14

标签: javascript unit-testing

正如主题建议的那样,我如何对不返回任何内容的函数进行单元测试(除了简单返回的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);
}

2 个答案:

答案 0 :(得分:3)

当然,您的功能必须对系统/程序产生一些影响或改变,可以在功能之外检测/比较。

如果没有做任何事情=>删除代码,你不需要它!

如果它意图抛出错误,请尝试捕获它们(使包含已知错误参数/条件的调用,然后查看它们是否被捕获。

答案 1 :(得分:2)

你需要弄清楚函数的副作用是什么,然后测试它们是否发生。

上面的代码调用了另外两个函数。因此,您的单元测试将验证它们是否被调用,最有可能是通过某种方式模拟它们。