【问题标题】:Testing Private Methods (var's) Inside A Function在函数中测试私有方法(var's)
【发布时间】:2013-09-08 06:03:19
【问题描述】:

我是单元测试的新手,jasmine,我想知道我们是否可以在函数内部测试私有方法。这是我正在尝试做的代码sn-p

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

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

    //Someother Code
}

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

提前致谢!

【问题讨论】:

    标签: javascript jquery unit-testing angularjs jasmine


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-10-30
      • 1970-01-01
      • 2019-02-01
      • 2020-11-08
      • 2019-08-04
      • 1970-01-01
      • 2011-12-27
      • 2010-10-17
      相关资源
      最近更新 更多