如何使用Jasmine在javascript中模拟新的函数/对象创建调用?

时间:2017-10-13 12:10:30

标签: javascript unit-testing jasmine karma-jasmine

我想使用Jasmine JS和Karma在Javascript中的另一个函数中模拟对象实例化调用。代码段如下所示:

ClassA = function(){
    var objB = new ClassB(); // How to fake this call?

    function method(){
        // Want to test this method
    }
}

ClassB = function(){
}

1 个答案:

答案 0 :(得分:1)

我建议你使用Sinon.js: http://sinonjs.org/

我们你可以声明间谍和存根,允许你检查函数(间谍)是否被调用或者注入函数返回某些值(存根)。

另外如果你想模拟整个B类,我建议你把它注入类构造函数(依赖注入),这样你就可以在测试期间注入你的模拟。