Karma AngularJs取消/模拟超时E2E



在angular中,我有一个服务对象来动画页面过渡。问题是动画使得karma/testacular的E2E测试运行得非常慢。代码如下所示:

.factory('Animator', function($timeout, $location, $rootScope){
        return {
            animate: function(animationVariable, animationType, callback){
                $rootScope[animationVariable] = animationType + " animated";
                $timeout(
                    function(){
                        $rootScope[animationVariable] = "";
                        if(callback) { callback() }
                    },1300)
                ;
            }
        }
    })

如何模拟动画功能,以便在karma中运行E2E测试时跳过它

Karma可以启动,但如果你的任何源文件使用了Angular的$timeout服务,它就无法执行测试。如果仍然希望测试应用程序,则需要删除对$timeout服务的任何引用,或者编写自己的引用。

来源: Vojta Jína

最新更新