0

我是单元测试的新手,茉莉花,我想知道我们是否可以在函数内部测试私有方法。这是我正在尝试做的代码片段

function thisIsTheFunction(...) {
    //Some Code

    var thisIsTheMethod = function () {
        //This Should be tested
    }

    //Someother Code
}

我知道我们可以测试thisIsTheFunction它是否附加到this. 但是有没有办法测试该方法是否是私有的?

提前致谢!

4

1 回答 1

0

如果您想测试 thisIsTheMethod 中代码的实际逻辑,那么您实际上所能做的就是将该方法分离到一个单独的“公共”函数中,并将其作为自己的单元进行测试。(请记住,如果您想在外部函数测试期间测试内部函数的逻辑,那么这是一个集成测试,而不是单元测试)

但是,如果您想测试外部函数相对于内部函数的行为,您可以采取的一种方法是允许调用者将实现 thisIsTheMethod 的回调作为参数的一部分传递给“构造函数”这就是功能。

然后,这允许您“注入”您在测试函数中定义的回调,以便您可以测试 thisIstheFunction 在应该调用 thisIsTheMethod 时的行为等。

于 2013-09-08T19:37:40.600 回答