我是单元测试的新手,jasmine,我想知道我们是否可以测试函数内部的私有方法。这是我正在尝试做的代码片段
function thisIsTheFunction(...) {
//Some Code
var thisIsTheMethod = function () {
//This Should be tested
}
//Someother Code
}
我知道我们可以测试thisIsTheFunction
是否附加到this
。但有没有办法测试该方法是否是私有的?
提前致谢!
答案 0 :(得分:0)
如果你想测试thisIsTheMethod中代码的实际逻辑,那么你所能做的就是将该方法分离成一个单独的“公共”函数并将其作为自己的单元进行测试。 (请记住,如果你想在外部函数测试期间测试内部函数的逻辑,那么这是一个集成测试,而不是单元测试)
但是,如果你想测试外部函数相对于内部函数的行为,你可以采取的一种方法是允许调用者传递一个回调函数来实现thisIsTheMethod作为参数的一部分。这个问题的“构造函数”。
然后,这允许您“注入”您在测试函数中定义的回调,以便您可以测试thisIstheFunction如何在它应该调用thisIsTheMethod等方面的行为。