在进行单元测试时如何使用第三方库?

时间:2015-07-01 13:19:33

标签: angularjs unit-testing karma-jasmine

在单元测试方面,我是新手,我尝试使用已存在的应用程序与Karma和Jasmine进行单元测试。

基本上,应用程序有很多来自不同第三方库的依赖项。因此,当我尝试创建一个单元测试时,偶然发现了很多来自Karma / Jasmine的错误。其中一个是下面的截图:

unit-test-error

从屏幕截图中,我得到一个未知提供程序:socketFactoryProvider ,我已经跟踪并发现它属于btford.socket-io模块。所以我所做的就是使用这样的代码来模拟依赖项:

// Set the app module
beforeEach(function () {
    angular.module('btford.socket-io', []);

    module('opensportsAdmin');
});

但我仍然收到错误(基于屏幕截图)。

所以我的问题是,您如何使用第三方库进行单元测试?我有点新鲜,没有找到任何可以帮助我解决问题的文章。

以下是我code的参考资料。

1 个答案:

答案 0 :(得分:0)

最佳做法是为您的应用程序使用一个内部模块,为依赖项使用一个模块。 详细解释和示例如下: Truly mocking providers