导致茉莉花测试失败的私有方法

时间:2013-04-10 15:47:09

标签: jasmine

我正在尝试使用Jasmine测试类似于下面的函数

closure.respond = function (value){ 
if(value)
{
    thisIsAPrivateMethod();

}
thisIsAPublicMethod();

}

我的测试看起来像这样

    it('will display the calendar widget when value is true', function(){

    value=true
    closure.respond(value);
    expect(closure.thisIsAPublicMethod).toHaveBeenCalled();
)

})

每当我运行测试时,我在jasmine测试运行器中得到一个异常,该异常表明在private函数内调用的方法不存在。 (对象#没有方法'methodName' )

我不关心私有函数的内部工作原理,我怎么能忽略那个调用呢?

我可以忽略它吗?显然我不能/不应该监视它,因为它是私人的。 任何方向都将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

有两点,你不能测试从外面看不到的方法,只是因为它们不可见。而且你不应该测试你想要测试的对象的内部行为。