Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Тестирование в Ангуляре, всё понятно, но ничего не работает
sergeiss  
 ۩  [x] Дата
Цитировать сообщение

Пользователь сейчас на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14962
Пользователь №: 4190
На форуме: 8 лет, 9 месяцев, 25 дней
Карма: 443




Надо мне сделать в Ангуляре юнит-тестирование. Всё понятно, инфы море. И всё было понятно до тех пор, пока не стал писать код.
Запускаю - выдает ошибку TypeError: undefined is not a constructor (evaluating '$controller('LoginCtrl', { $scope:$scope })') in c:/work
SDP/SDP/test/controllers/api.test.js (line 23)


Вот полный код:
'use strict';

describe( 'API', function(){

beforeEach( angular.mock.module('sdpApp') );

var $controller;

console.log('before each');

beforeEach(
angular.mock.inject(function(_$controller_){
console.log('inject'); // это в консоль не выводится!!!
$controller = _$controller_;
})
);


console.log('before it');

it('get user name', function(){
var $scope = {};
console.log( 'controller 1', $controller );
var controller = $controller('LoginCtrl', { $scope:$scope }); // вот строка 23

expect($scope.placeholder.userName).toBe('Email (userId)'); // сюда уже, ясно дело, не доходим.
}) ;

});


И всё сделано сугубо по описаниям из тырнета.
В консоли вижу такой вывод
Цитата
PhantomJS 2.1.1 (Windows 7 0.0.0) LOG: 'before each'
PhantomJS 2.1.1 (Windows 7 0.0.0) LOG: 'before it'
LOG: 'controller 1', undefined


То есть, в инжектор не захожу, вроде как. Почему??? А раз в инжектор не зашел, то тогда понятно, почему ошибка.

Уже весь "обгуглися", прочитал кучу всего, в т.ч. на стек-оверфлоу, ничего не помогает. Обычные тесты запускаются, где не надо подцеплять контроллер. Но как только пытаюсь подцепить контроллер, то получают такую ошибку. Требуется помощь спецов.

PS. Если бы не требования по работе, нахрен бы не занимался этим "автоматическим" тестированием :) Потратил уже полный рабочий день, "однако воз и ныне там".


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 5 дней


а если обернуть всё в

(function () { ... })

ну и там еще момент http://stackoverflow.com/questions/2386101...ating-new-jdres

а тут прям копия вроде как твоей проблемы
https://github.com/johnpapa/angular-styleguide/issues/664


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
 ۩  Дата
Цитировать сообщение

Пользователь сейчас на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14962
Пользователь №: 4190
На форуме: 8 лет, 9 месяцев, 25 дней
Карма: 443




Игорь_Vasinsky, Игорь, спасибо! smile.gif Нашел-таки ключевые слова: "You also need to add ui-router, ui-bootstrap and toaster in the karma configuration file.". В моем случае другие файлы, но суть именно та. В конфиге были указаны не все файлы.

"А ларчик просто открывался" (с)

ПыСы. А я тормознул, да... Не буду спорить smile.gif

Это сообщение отредактировал sergeiss - 14.10.2016 - 16:23


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 5 дней


ну и замечательно, меня то жизнь ещё с анигуляром не сталкивала.


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса