单元测试Javascript匿名函数

兴奋的

我的应用程序中的$ scope函数内部有一些匿名函数。这些是匿名的,因为我只需要它们在页面加载时就运行一次(它们确实这样做)。在这些匿名函数中,我将一个$scope.itemSuccess变量设置为true并返回;当满足某些规格时(不重要)。这些匿名函数还会增加一个$scope.counter;

我不确定如何在茉莉花单元测试中将这些匿名函数作为目标。我需要确保它们正确执行了逻辑,并且适当地增加了计数器。

马特

首先,您需要以某种方式访问​​测试中的匿名函数,因此必须将它们分配给变量或命名它们。

完成此操作后,要测试它们,您有两个选择:将测试放在闭包(您的主函数)本身中,或者将代码添加到引用您要测试的函数的闭包中。

不幸的是,由于明显的原因,第一个选项并不理想,第二个选项使您的API膨胀。但是,正如Philip Walton在其博客文章所作的出色解释所说明的那样,您可以通过在API中显式调用您的测试,然后将其删除作为构建过程的一部分来使用第二种方法。

Philip在他的帖子中详细介绍了更多信息,我建议您阅读,但以下是一个快速入门指南:

   function closure(){

        // public variables here
        var publicVariable1 = 1;
        var publicVariable2 = 2;

        return {
            publicVariable1 : publicVariable1,
            publicVariable2 : publicVariable2,
            __tests__: {
                add: add,
                subtract: subtract
                }
        };

        // private methods you do not wish to expose (but must for unit testing purposes).      
        function add(a,b){
            return a + b;
        };

        function subtract(a,b){
            return a - b;
        }
   }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单元测试Javascript匿名函数

来自分类Dev

如何为返回匿名函数的方法编写单元测试

来自分类Dev

Javascript单元测试

来自分类Dev

JavaScript单元测试

来自分类Dev

匿名JSON对象集合的单元测试

来自分类Dev

匿名类型的单元测试-JSON

来自分类Dev

Kotlin匿名功能参数单元测试

来自分类Dev

Kotlin匿名功能参数单元测试

来自分类Dev

匿名JSON对象集合的单元测试

来自分类Dev

单元测试 Flink 函数

来自分类Dev

如何对调用getJSON的JavaScript函数进行单元测试

来自分类Dev

如何对调用getJSON的JavaScript函数进行单元测试

来自分类Dev

Rhino的JavaScript单元测试

来自分类Dev

Rhino的JavaScript单元测试

来自分类Dev

django单元测试,用于登录或匿名用户

来自分类Dev

对返回匿名类型的Response RedirectToRoute进行单元测试

来自分类Dev

django单元测试,用于登录或匿名用户

来自分类Dev

在silex中单元测试匿名回调路由

来自分类Dev

用于单元测试的重载构造函数

来自分类Dev

单元测试时间触发的Azure函数

来自分类Dev

在单元测试中调用外部函数

来自分类Dev

Lua 中的单元测试本地函数

来自分类Dev

单元测试按钮内的调用函数

来自分类Dev

Python 单元测试依赖函数

来自分类Dev

Symfony中的Javascript单元测试

来自分类Dev

Javascript单元测试-DOM操作

来自分类Dev

使用Jenkins的JavaScript单元测试

来自分类Dev

用于从FORM访问HTML元素的JavaScript函数的单元测试用例

来自分类Dev

这个异步JavaScript函数的单元测试(通过Mocha / Sinon)有什么问题?