0

m- 생성기에서 단위 테스트를 시도하고 있습니다. 테스트 스펙 파일에 $ scope를 삽입했지만이 오류를 해결하는 방법에이 오류가 발생했습니다. 동일한 파일을 다른 파일에 삽입하면 오류가 발생합니다.TypeError : undefined가 (screen.orientation.lock을 평가하는) 객체가 아닙니다.

컨트롤러 파일 :이

'use strict'; 
(function() { 
angular.module('main').controller('HomeCtrl', HomeCtrl); 

HomeCtrl.$inject = ['$log', 'SignOut', '$state', '$cordovaNetwork', 
'$auth', 'CommonService', '$scope', '$ionicPopup', 'Analytics', 
'BackupServices', '$translate', '$ionicPlatform']; 
function HomeCtrl ($log, SignOut, $state, $cordovaNetwork, $auth, 
CommonService, $scope, $ionicPopup, Analytics, BackupServices, 
$translate, $ionicPlatform) { 
$log.log('HomeCtrl got called'); 
var vm = this; 

vm.password = { 
    input: '', // by user 
    strength: '' 
}; 
vm.grade = function() { 
    var size = vm.password.input.length; 
    if (size > 8) { 
    vm.password.strength = 'strong'; 
    } else if (size > 3) { 
    vm.password.strength = 'medium'; 
    } else { 
    vm.password.strength = 'weak'; 
    } 
}; 
vm.grade(); 

function activate() { 
    screen.orientation.lock('portrait'); 
    Analytics.trackPage('Home-Page'); 
} })(); 

내가 homectrl 주입 카르마 테스트 JS 파일이 있지만, 테스트 코드가

테스트 사양 파일 실행 않았지만 일부 플러그인이 homectrl :

describe('module: main, controller: HomeCtrl', function() { 

beforeEach(module('main')); 
    beforeEach(module('ngHtml2Js')); 

// instantiate controller 
var HomeCtrl; 
    beforeEach(inject(function ($controller, $rootScope) { 
    var scope = $rootScope.$new(); 
    HomeCtrl = $controller('HomeCtrl',{ $scope: scope }); 
})); 

describe('.grade()', function() { 

it('should classify asd as weak', function() { 
    HomeCtrl.password.input = 'asd'; 
    HomeCtrl.grade(); 
    expect(HomeCtrl.password.strength).toEqual('weak'); 
}); 

it('should classify asdf as medium', function() { 
    HomeCtrl.password.input = 'asdf'; 
    HomeCtrl.grade(); 
    expect(HomeCtrl.password.strength).toEqual('medium'); 
}); 

it('should classify asdfasdfasdf as strong', function() { 
    HomeCtrl.password.input = 'asdfasdfasdf'; 
    HomeCtrl.grade(); 
    expect(HomeCtrl.password.strength).toEqual('strong'); 
}); 
}); }); 

답변

0

는 포함을 카르마 설정 경로의 screenorientation js 파일 경로

'plugins/cordova-plugin-screen-orientation/www/screenorientation.js'

관련 문제