ogarich89
@ogarich89
Front-End Developer

Как настроить Angular + RequireJS + jasmineJS?

Помогите разобраться с jasmineJS в связке с requireJS и angularJS

Хочу для примера протестировать контроллер вида
define(['../module'], function (controllers) {
	'use strict';
	controllers.controller('mainCtrl', ['$scope', '$rootScope', '$interval', function ($scope, $rootScope) {
		$rootScope.count = 0;
		$scope.leftToolbar = true;
		$scope.rightToolbar = true;
		$scope.class = 'all';

		$scope.toolbar = function () {
			if ($scope.leftToolbar && $scope.rightToolbar)
				$scope.class = 'all'
			else if ($scope.leftToolbar)
				$scope.class = 'left'
			else if ($scope.rightToolbar)
				$scope.class = 'right'
			else
				$scope.class = ''
		}
	}]);
});


Создаю тест
define([
	'angular',
	'app',
	'controllers/rootCtrls/main', 
	'angularMocks'
], 
function (angular, app, mainCtrl) {
	describe('mainCtrl', function () {
		it('should behave...', function() {
			
		});
	});
});


Как мне написать тест чтобы проверить значение в переменной $scope.class
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
Посмотрите доку ангуляра по этому вопросу. Там всё довольно хорошо расписано.
https://docs.angularjs.org/guide/unit-testing

В целом процесс простой:
1. подключаете нужный модуль при помощи коммады module(%module_name%);
2. параллельно мокаете все нужные зависимости
3. инжектите тестируемый объект/ ну или в случае с контроллером инжектите $controller.
4. собственно пишете тесты
инжектите нужный сервис, мокаете все зависимости -
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы