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');
});
}); });