Вопросы с тегами [karma-runner]

1

голосов
1

ответ
781

Просмотры

Угловая Карма не захватывая браузер

Я существующий проект угловых 6, где тесты не работает. Как это происходит: в PhpStorm жму в контекстном меню на файл прогон file.specs.ts. Она начинается тест, открывает браузер и ничего не происходит тогда. Вот журнал Ожидание захваченном браузера ... Для того, чтобы захватить браузер с открытым HTTP: // локальный: 9876/14 10 2018 13: 04: 17,500: WARN [гранатомет]: Хром не захватили в 60000 мс, убийство. 14 10 2018 13: 04: 17,799: INFO [запуск]: При попытке запуска Chrome снова (1/2). 14 10 2018 13: 05: 17,808: WARN [запуска]: Хром не захвачены в 60000 мс, убивая. 14 10 2018 13: 05: 18,055: INFO [запуск]: При попытке запуска Chrome снова (2/2). 14 10 2018 13: 06: 18,062: WARN [запуска]: Хром не захвачены в 60000 мс, убивая. 14 10 2018 13: 06: 18,199: ОШИБКА [запуска]: Хром не удалось в 2 раза (тайм-аут). Сдаваться. Как понять, что» случилось с этими испытаниями? Я не вижу никаких ошибок о зависимости или что-то другое. Есть ли шанс найти то, что вызывает не захватывая браузер? В этом проекте все spec.tss отсутствуют (похоже, что кто-то удалил их), так что я пытаюсь запустить те which've были созданы новые компоненты / услуги. Там нет такого варианта, чтобы начать новый проект. Я должен исправить это. Любая помощь будет очень высокую оценку. Это мой файл SRC / karma.conf.js // конфигурации Karma, смотрите ссылку для получения дополнительной информации // https://karma-runner.github.io/1.0/config/configuration-file.html module.exports = функция ( конфигурации) {config.set ({BasePath: '', рамки: [ 'жасмин', '@ угловой DevKit / встроенный угловой'], плагины: [требуется ( 'карма-жасмин'), требуют ( «карма-хром -launcher '), требуют (' карма-жасмин-HTML-репортер '), требует (' кармы-покрытия-Стамбул-репортер '), требует (' @ угловой DevKit / встроенной угловой / плагины / кармы ')], клиент: {ClearContext: ложный, // оставить выход жасмин Spec Runner видимую в браузере}, coverageIstanbulReporter: {реж:. требуется ( 'путь') присоединиться (__ 'имя-каталога ../coverage '), отчеты: [' HTML', 'lcovonly'], fixWebpackSourcePaths: истинно} , репортеры: [ 'прогресс', 'kjhtml'], порт: 9876, цвет: правда, LOGLEVEL: config.LOG_INFO, autoWatch: истинный, браузеры: [ 'Chrome'], singleRun ложь}); }; {ClearContext: ложь // оставить выход жасмин Spec Runner видимого в браузере}, coverageIstanbulReporter: {реж:. Требуется ( 'путь') присоединиться (__ имя_директория, '../coverage '), сообщает: [' HTML', 'lcovonly' ], fixWebpackSourcePaths: истинные}, репортеры: [ 'прогресс', 'kjhtml'], порт: 9876, цвет: правда, LOGLEVEL: config.LOG_INFO, autoWatch: правда, браузеры: [ 'Chrome'], singleRun ложь}) ; }; {ClearContext: ложь // оставить выход жасмин Spec Runner видимого в браузере}, coverageIstanbulReporter: {реж:. Требуется ( 'путь') присоединиться (__ имя_директория, '../coverage '), сообщает: [' HTML', 'lcovonly' ], fixWebpackSourcePaths: истинные}, репортеры: [ 'прогресс', 'kjhtml'], порт: 9876, цвет: правда, LOGLEVEL: config.LOG_INFO, autoWatch: правда, браузеры: [ 'Chrome'], singleRun ложь}) ; }; LOGLEVEL: config.LOG_INFO, autoWatch: правда, браузеры: [ 'Chrome'], singleRun: ложный}); }; LOGLEVEL: config.LOG_INFO, autoWatch: правда, браузеры: [ 'Chrome'], singleRun: ложный}); };
Sergey
0

голосов
0

ответ
9

Просмотры

Karma, Angular 7, & FontAwesome issue Can't bind to 'icon' since it isn't a known property of 'fa-icon'

Can't bind to 'icon' since it isn't a known property of 'fa-icon'. When trying to run this test in people.component.spec.ts import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { PeopleComponent } from "./people.component"; describe("PeopleComponent Unit Test", () => { let component: PeopleComponent; let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [PeopleComponent] }) .compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(PeopleComponent); component = fixture.componentInstance; fixture.detectChanges(); }); it("should create", () => { expect(component).toBeTruthy(); }); ; }) The runner shows this error: Failed: Template parse errors: Can't bind to 'icon' since it isn't a known property of 'fa-icon'. If 'fa-icon' is an Angular component and it has 'icon' input, then verify that it is part of this module. If 'fa-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component. This is the HTML causing the issue. I've tried to import FontAwesomeModule and FaIcon on test side and add to TestBed configuration's imports statement. I've tried to ensure the component side has the imports too. Nothing seems to work.
John Peters
1

голосов
0

ответ
385

Просмотры

Running ng test with different test entry point

Есть в любом случае для запуска нг теста с другим тестом точкой входа на один указанном в .angular-cli.json? https://github.com/angular/angular-cli/issues/8579#issuecomment-346313383 обеспечивает решение для увеличения восстановления раз при использовании ленивых загруженных кусков. Но я боюсь, что разбивая испытания на куски может вызвать некоторые тесты, которые будут пропущены. В идеале я бы два файла: test.ts, test.tmp.ts с test.ts, содержащим: Const контекста = require.context ( './', правда, /\.spec\.ts$/); в то время как test.tmp.ts имеет: Const контекст = require.context ( './ приложение / some_module /', правда, /\.spec\.ts$/); Таким образом, при разработке, я могу запустить что-то вроде испытания нг --entry-точечный = test.tmp.ts. В идеале test.tmp.ts будет git.ignored. На данный момент, его можно назвать тест нг --config = different_karma.conf.js, чтобы указать другой karma.conf.js, и в karma.conf.js вы можете изменить ссылку на test.ts в пределах этого. Однако, это не успешно запустить тесты, если я не изменить apps.0.test точки входа в угловом-cli.json к test.tmp.ts. Ошибки я получаю: Uncaught SyntaxError: Неожиданное строка в SRC / test.tmp.ts: 3 Одно из решений заключается в создании другого приложения в пределах .angular-cli.json, который является копией первого с другой точкой входа, и вызов нг тест -app, но тогда вы должны поддерживать две различные конфиги приложения. Я могу изменить test.ts непосредственно каждый раз, но возможно, что может получить совершено. Edit: https://stackoverflow.com/a/43669082/5464931 создает впечатление, что изменение углового-cli.json не необходимое, но я не могу получить, чтобы работать. если я не изменить apps.0.test точки входа в угловом-cli.json к test.tmp.ts. Ошибки я получаю: Uncaught SyntaxError: Неожиданное строка в SRC / test.tmp.ts: 3 Одно из решений заключается в создании другого приложения в пределах .angular-cli.json, который является копией первого с другой точкой входа, и вызов нг тест -app, но тогда вы должны поддерживать две различные конфиги приложения. Я могу изменить test.ts непосредственно каждый раз, но возможно, что может получить совершено. Edit: https://stackoverflow.com/a/43669082/5464931 создает впечатление, что изменение углового-cli.json не необходимое, но я не могу получить, чтобы работать. если я не изменить apps.0.test точки входа в угловом-cli.json к test.tmp.ts. Ошибки я получаю: Uncaught SyntaxError: Неожиданное строка в SRC / test.tmp.ts: 3 Одно из решений заключается в создании другого приложения в пределах .angular-cli.json, который является копией первого с другой точкой входа, и вызов нг тест -app, но тогда вы должны поддерживать две различные конфиги приложения. Я могу изменить test.ts непосредственно каждый раз, но возможно, что может получить совершено. Edit: https://stackoverflow.com/a/43669082/5464931 создает впечатление, что изменение углового-cli.json не необходимое, но я не могу получить, чтобы работать. JSON, который является копией первого с другой точкой входа, и вызов нг тест -app, но тогда вы должны поддерживать две различные конфиги приложения. Я могу изменить test.ts непосредственно каждый раз, но возможно, что может получить совершено. Edit: https://stackoverflow.com/a/43669082/5464931 создает впечатление, что изменение углового-cli.json не необходимое, но я не могу получить, чтобы работать. JSON, который является копией первого с другой точкой входа, и вызов нг тест -app, но тогда вы должны поддерживать две различные конфиги приложения. Я могу изменить test.ts непосредственно каждый раз, но возможно, что может получить совершено. Edit: https://stackoverflow.com/a/43669082/5464931 создает впечатление, что изменение углового-cli.json не необходимое, но я не могу получить, чтобы работать.
Dulitha Ranatunga
1

голосов
0

ответ
117

Просмотры

Как настроить карму НЕ перезапустить браузер, когда он закрыт?

Я использую следующую команду для запуска своих модульных тестов в своем роде режим «отладка» (где --debug является пользовательским ключом я добавил для своих собственных целей). карма начать ./.config/karma.conf.js --browsers = Chrome --debug Команда работает отлично - он запускает тесты и сохраняет это экземпляр браузера Chrome открытым на неопределенное время. Однако, когда я пытаюсь убить браузер, закрывая его, тест бегун перезапускает его (до 2-х раз). 05 01 2018 13: 00: 56,024: ERROR [гранатомет]: Chrome разбился. 05 01 2018 13: 00: 56,024: ERROR [гранатомет]: Хром стандартный вывод: 05 01 2018 13: 00: 56,024: ERROR [гранатомет]: Хром STDERR: 05 01 2018 13: 00: 56,256: INFO [гранатомет]: Попытка Chrome начать снова (1/2). Есть ли способ, чтобы инструктировать Карма НЕ перезапустить Chrome, когда он закрыт / разбился?
Igor Soloydenko
1

голосов
0

ответ
231

Просмотры

карма-WebPack sourcemaps не работает (тип сценария файлы не загружаются в веб-браузере для отладки)

Я использую Карма-Webpack. Карма Webpack sourcemaps не работает Когда я выполнить тесты с использованием кармы в Chrome, то исходные файлы для моих спецификаций появляются нечитаемыми в отладчике. Тем не менее, система в тестовых файлов (мой исходный код приложения) является загрузка нечитаемым ява скрипт в браузере так, очень трудно отлаживать. кто-нибудь может мне помочь, чтобы загрузить тип сценарий для Spec файла в отладчике webpack.test.config.js пути уага = требуется ( «путь»), WebPack = требуется ( «WebPack»); module.exports = {контекст: __dirname, выход: {}, кэш: {}, постановляю: {расширений: [ '.TS',' .js'], псевдоним: { "CLDR": path.resolve (__ имя_директории " node_modules / cldrjs / расстояние / CLDR ")}}, плагины: [новый webpack.SourceMapDevToolPlugin ({имя файла: нуль, тест: / \. (TS | JS) ($ | \?) / я})], модуль: {правила: [{тест: /\.ts$/, погрузчик: 'TS-погрузчик'}, {тест: /\.html$ / я, использование: 'HTML-погрузчик'}, {тест: /\.(js|ts)$/, исполнение: 'Post', 'погрузчик: İstanbul-instrumenter-загрузчик', запрос: {esModules: истинно}, исключить:. [/index\.ts/, /\.spec\.js$/, /\.t\.ts$/, / node_modules /, /.bin/, /decompressionworker\.ts/, / \ ( GLSL | против | фс) $ /]}]}, часы: ложь}; карма. конфигурации // конфигурации Карма // Сформирован Ср окт 18 2017 11:50:04 GMT + 0530 (Шри-Ланка поясному времени) вар webpackConfig = требуется ( '../ webpack.test.config'); module.exports = функция (конфигурации) {config.set ({BasePath: '', рамки: [ 'жасмин'], файлы: [{шаблон: "../node_modules/reflect-metadata/Reflect.js", включают в себя: истинно}, './karma-bundle.js'], WebPack: webpackConfig, препроцессоры: {' ./karma-bundle.js ': [' WebPack ']}, {webpackMiddleware: статистика: 'нормальный'}, плагинов: [требуется ( 'карма-покрытие'), требуют ( 'карма-покрытия-Стамбул-репортер'), требуют ( 'карма-жасмин'), требуют ( 'карма-мокко-репортер'), требуют ( 'карма-Webpack' ), // устанавливается в `true` не провалить команду тестирования, когда пороги не выполняются глобальные: {// пороговые значения для всех операторов файлов: 100, строки: 100, ветви: 100, функции: 100}}}})} карма bundle.js константные тесты = require.context (»./ ClientApp / виды, правда, /\.spec.ts$/); . tests.keys () Foreach (тесты);
lilan silva
1

голосов
0

ответ
129

Просмотры

JS тесты с Karma / мокко / Chai / Gulp

Я пытался добавить тестирование на моем веб-приложение шаблонный, который проводится вместе с глотком. Я добавил Карма / мокко / Chai и я выполнить тестирование в Глоток смотреть: gulp.task ( 'часы', [ 'browserSync', 'встроенный CSS'], () => {gulp.watch (». /app/scss/**/*.scss', [ 'встроенный CSS']); gulp.watch ([ '. приложение / * HTML', 'приложение / JS / ** / * JS'], browserSync .reload); // Также перезагружает браузер, когда HTML или JS изменения gulp.watch (, [ 'тест [ 'приложение / JS / ** / * JS.',' тест / ** / * test.js.] «]); // повторно запустить тесты, когда JS или изменения теста}); gulp.task ( 'тест', // Выполнить тесты раз shell.task ( 'карма начать --single-бег --browsers ChromeHeadless karma.conf.js')); В моем karma.conf.js я м загрузит все мои файлы: файлы: 'приложение / * HTML' [ 'приложение / CSS / * CSS.', 'приложение / JS / ** / * JS.', «тест / ** / * тест.. JS'], Теперь, фактические работы тестового файла. Так что, если у меня есть это: script.test.js описать ( 'массив', () => {описать ( '# IndexOf ()', () => {она ( 'должна возвращать -1, если значение не присутствует' , () => {assert.equal (-1, [1,2,3,] IndexOf (4).);});});}); Затем я получить пропуск, никаких проблем. У меня есть проблема в том, что мой основной файл script.js вызывает Карма падать. Я считаю, что это потому, что он пытается манипулировать DOM. У меня есть функция под названием createUI, который принимает пару аргументов, один из которых является идентификатор элемента страницы пользовательского интерфейса должен быть вставлен. Это работает точно так же, как я хочу, когда это время работает нормально,
Sternjobname
1

голосов
1

ответ
561

Просмотры

Основной угловой тест 5 кармы не может

Учитывая следующие испытания sanity.spec.ts: описать ( "карма проверки разумности", () => {это ( "1 + 1 = 2", () => ожидать (1 + 1) .toBe (2)); }); Карма производит это: 27 02 2018 09: 17: 53,641: INFO [bundler.karma-машинопись]: Пакетные импорт за 3 файла (ов) в 2162 мс. 27 02 2018 09: 17: 53,645: WARN [карма]: Нет захвачена браузера, откройте HTTP: // локальный: 9876/27 02 2018 09: 17: 53,659: INFO [карма] Карма: v2.0.0 сервер начал по адресу: //0.0.0.0:9876/ 27 02 2018 09: 17: 53,660: INFO [гранатомет]: Запуск браузера Chrome с неограниченным параллелизмом 27 02 2018 09: 17: 53,674: INFO [гранатомет]: Запуск браузера Chrome 27 02 2018 09: 17: 55,126: INFO [Chrome 64.0.3282 (Windows 10.0.0)]: Connected на сокет grFZALtIKw9NjBeoAAAA с идентификатором 46992309 Chrome 64.0.3282 (Windows 10.0.0) карма здравомыслие проверки 1 + 1 = 2 FAILED TypeError: не удается прочитать свойство " {Среда: 'DEV'}, karmaTypescriptConfig: {TSconfig: "./tsconfig.json"}, порт: 9876, цвет: правда, LOGLEVEL: config.LOG_INFO, autoWatch: правда, браузеры: [ 'Chrome'], singleRun: ложный }); }; база файлов base.spec.ts заключается в следующем: импорт «ядро-JS» импорт «zone.js / расстояние / зона»; импорт "zone.js / расстояние / длинный стек-след-зона"; импорт "zone.js / DIST / прокси"; импорт «zone.js / расстояние / синхронизации тест»; импорт "zone.js / расстояние / жасмин-пластырь"; импорт "zone.js / DIST / асинхронные испытания"; импорт "zone.js / DIST / поддельной Асинхр-тест"; импорт {TestBed} из "@ угловой / ядра / тестирования"; импорт {BrowserDynamicTestingModule, platformBrowserDynamicTesting} от «@ угловой / платформы браузера динамического / тестирования»; TestBed. initTestEnvironment (BrowserDynamicTestingModule, platformBrowserDynamicTesting ()); редактировать Я попытался ниже, который, кажется, не поможет - та же ошибка: импорт {TestBed} из «@ угловой / ядра / тестирования»; описывают ( "карма проверки разумности", () => {beforeEach (() => {TestBed.configureTestingModule ({провайдеры: []});}); его ( "1 + 1 = 2", () => ожидать (1 + 1) .toBe (2));}); () => Ожидать (1 + 1) .toBe (2)); }); () => Ожидать (1 + 1) .toBe (2)); });
Jim
1

голосов
0

ответ
127

Просмотры

Угловые Без учета внешних тесты

У меня есть Угловой проект в хранилище Git, который имеет Git подмодуль, который имеет свои собственные испытания машинописи (а-ля xyz.spec.ts). Submodule в / SRC / внешний / [Подмодули] Когда я запускаю тест НПМ, я получаю сообщение об ошибке, что он не может найти мокко, и т.д., для выполнения тестов для субмодуля. Поэтому после долгих и тестирования прибегая к помощи, я добавил «исключить»: [ «внешний»] к моему SRC / tsconfig.spec.json и «тест»: { «покрытие кода»: { «исключить»: [ "ЦСИ / внешний / ** / * "]}, ...} до .angular-cli.json Теперь, когда я тест я получаю: Предупреждение в ./src/external/api/src/api/models/index.spec.ts неисправного модуля сборки: Ошибка : [путь к репо] \ SRC \ внешний \ апи \ SRC \ апи \ модели \ index.spec.ts отсутствует в машинописном компиляции. Пожалуйста, убедитесь, что в вашем TSconfig через «файлы» или " включают в себя»property`. Как исключить набор файлов из проверки (и, надеюсь, пыление) правильно и по-прежнему держать их для сборки?
dmcblue
1

голосов
1

ответ
293

Просмотры

Uncaught Ошибка синтаксиса при выполнении модульных тестов Vue.Js с кармой

Я пытаюсь получить модульное тестирование создано для моего проекта Vue JS с Кармой и мокко (с вю-кли, я первоначально использовался Шутками, но я переключение Кармы). Я пытаюсь запустить мой тест с началом кармы; карма бежать, и я получаю: 09 03 2018 17: 02: 49,778: INFO [карма] Карма: v2.0.0 сервер начал в http://0.0.0.0:9876/ 09 03 2018 17: 02: 49.786: INFO [пусковая ]: Запуск браузера Chrome с неограниченным параллелизмом 09 03 2018 17: 02: 49.797: INFO [гранатомет]: Запуск браузера Chrome 09 03 2018 17: 02: 54,410: INFO [Chrome 64.0.3282 (Windows 10.0.0)]: Connected на гнездо mvbOII8qli3NiwBMAAAA с идентификатором 62867001 Chrome 64.0.3282 (Windows 10.0.0) ERROR { "сообщение": "Uncaught SyntaxError: Неожиданный идентификатором \ Nat данные / PdfView.spec.js: 3: 8 \ N \ nSyntaxError: Неожиданный идентификатор", " ул ":" Uncaught SyntaxError: // Препроцессоры 'карма-WebPack', 'карма-sourcemap-погрузчик', // Репортеров карма-спец-репортер ", 'карма-покрытие'], WebPack: webpackConfig, webpackMiddleware: {noInfo: истинно}, singleRun: правда , coverageReporter: {реж: './coverage', репортеры: [{тип: 'lcov', подкаталог: '' }, {Типа: 'текст-резюме'}]}})} Мой .babelrc файл: { "пресеты": [[ "окр", { "модули": ложные, "цели": { "браузеры": [» > 1% " "последние 2 версии"," не то {Реж: './coverage', репортеры: [{тип: 'lcov', подкаталог: '' }, {Типа: 'текст-резюме'}]}})} Мой .babelrc файл: { "пресеты": [[ "окр", { "модули": ложные, "цели": { "браузеры": [» > 1% " "последние 2 версии"," не то {Реж: './coverage', репортеры: [{тип: 'lcov', подкаталог: '' }, {Типа: 'текст-резюме'}]}})} Мой .babelrc файл: { "пресеты": [[ "окр", { "модули": ложные, "цели": { "браузеры": [» > 1% " "последние 2 версии"," не то
Josh
1

голосов
0

ответ
913

Просмотры

Configuring unit testing within an Ionic3 application

Я реализации модульных тестов в пределах ionic3 проекта, основанного на следующем примере проекта: https://github.com/ionic-team/ionic-unit-testing-example. Он отлично работает, но у меня есть некоторые проблемы: я могу видеть ошибки компиляции (для жасмин), тогда как эти те не мешают запуск тесты кармы начать ./test-config/karma.conf.js Webpack: Составитель успешно. WebPack: Компиляция ... 17 03 2018 15: 53: 18,403: WARN [карма]: Нет захвачена браузер, откройте HTTP: // локальный: 9876 / ОШИБКА в ./src/pages/test/test.spec.ts [TSL ] ERROR в /home/app-path/src/pages/test/test.spec.ts(11,1) TS2304: не удается найти имя 'описать'. ОШИБКА в ./src/pages/test/test.spec.ts [TSL] ERROR в /home/app-path/src/pages/test/test.spec.ts(17,3) TS2304: Не удается найти имя «beforeEach ». ОШИБКА в ./src/pages/test/test.spec. ц [TSL] ERROR в /home/app-path/src/pages/test/test.spec.ts(40,39) TS2304: Не удается найти имя 'ожидать'. ОШИБКА в ./src/pages/test/test.spec.ts [TSL] ERROR в /home/app-path/src/pages/test/test.spec.ts(42,3) TS2304: Не удается найти имя «его ». ... WebPack: Не удалось собрать. 17 03 2018 15: 53: 18,422: INFO [карма] Карма: V1.7.1 сервер начал в http://0.0.0.0:9876/ 17 03 2018 15: 53: 18.422: INFO [гранатомет]: Запуск браузера Chrome с неограниченным параллелизм 17 03 2018 15: 53: 18,748: INFO [гранатомет]: Запуск браузера Chrome 17 03 2018 15: 53: 20,153: INFO [Chrome 57.0.2987 (Linux 0.0.0)]: Connected на сокет py7H3olXgBzYBE2DAAAA с идентификатором 24040166 Chrome 57,0 0,2987 (Linux 0.0.0): Выполненный 8 из 8 УСПЕХА (2.716 ИКС / 0 ИКС) Я не могу отобразить результаты в браузере, запущенном кармы, даже если у меня есть kjhtml репортер сконфигурировано. См https: //github.com/ionic-team/ionic-unit-testing-example/blob/master/test-config/karma.conf.js#L52. Обратите внимание, что я добавил прогресс репортер и он работает отлично: репортеры: [ «прогресс», «kjhtml»], спасибо за вашу помощь!
Thierry Templier
1

голосов
0

ответ
803

Просмотры

Карма разъединен с тайм-аут, даже с 2-тестов

Я хочу использовать Карму тест бегун с тестом водопроводной рамки для моего проекта, и я застрять параллельный запуск тестов, когда есть только два испытания, я не могу получить карму работать, когда есть больше чем один тест в папке тестирования. Я искал этот вопрос в сети и увидеть, что большинство людей видят проблему памяти из-за сотни тестов, и в основном решить с помощью изменения значения тайм-аута. Я попытался изменить все значения тайм-аута и разъединители, но это не помогло. Я прочитал все эти StackOverflow страницы, и я не думаю, что это память и др все, потому что та же проблема рассматривается только 2 теста. Как-то люди могут хотя ее проблемы памяти до сих пор. А в тесте (этот тест работает все ОК, когда это только один тест) только первый шаг работает нормально, где я проверить существование моего проекта -> t.ok (проект «projectexist») после этого шага, Я вижу ошибку РАЗЪЕДИНЕНИЕ все, что я делаю значение тайм-аута. Я также попытался открыть 2 браузеры не помогло browserDisconnectTimeout (так как мой тест нуждается в партнерах из браузеров.): 100000, browserNoActivityTimeout: 100000, browserDisconnectTolerance: 10, Вот сообщение об ошибке я получаю на консоли 26 03 2018 09: 59: 37,240 : WARN [Chrome 65.0.3325 (Windows 7.0.0)]: отсоединен (1 раз), потому что никакое сообщение в 10000 мс. Chrome 65.0.3325 (Windows 7.0.0) ОШИБКА отсоединен, потому что никакое сообщение в 10000 мс. Chrome 65.0.3325 (Windows 7.0.0): Выполненный 0 из 0 выключателе (10.214 ИКС / 0 ИКС) Ошибка Сбой команды с кодом выхода 1. И еще один интересный вопрос, который я вижу это, он терпит неудачу с 2 точно такой же тест, но если Я измельчить один из них я вижу УСПЕХ без выполнения всех шагов в полном тесте. позволять'
Rasim Avcı
1

голосов
0

ответ
394

Просмотры

Карма: Ошибка: [$ Инжектор: nomod] «приложение» модуль не доступен

Я новичок в угловой мир и сам новичок в карме. Я получаю следующее сообщение об ошибке, когда я пытаюсь запустить тест Карма-жасмин Unit. { «Сообщение»: «ошибка была брошена в Afterall \ nUncaught Ошибка: [$ Инжектор: nomod] приложение" модуль недоступен Вы либо опечатка имя модуля или забыли загрузить его Если регистрирующий модуль убедитесь, что вы задаете!. зависимостей в качестве второго аргумента \ nhttp:. //errors.angularjs.org/1.6.9/$injector/nomod p0 = приложение " "ул?":" ошибка была брошена в Afterall \ nUncaught ошибка: [$ форсунка : «приложение» nomod] модуль недоступен вы либо опечатка имя модуля или забыли загрузить его Если регистрирующий модуль убедитесь, что вы указываете зависимости в качестве второго аргумента \ nhttp:.. //errors.angularjs.org/1.6 0,9 / $ форсунка / nomod? p0 = приложение» } Проходя через различные посты, я обнаружил, что эта ошибка возникает, когда: орфографическая ошибку имя модуля Забудьте зарегистрировать модуль Забудь для загрузки зависимостей Но, кажется, что ни один из выше вопроса не относится к моему приложению. Моя App очень мало, как сейчас. Я отправляю почти все мое приложение для справки. Вы можете найти свой код ниже для справки. app.module.js (функция () { "использовать строгий"; угловые .module ( "приложение", [ "ngRoute", "ngMessages", "ngclipboard", "ui.router"]) .config (конфигурации); функция конфигурации ($ locationProvider, $ routeProvider, $ httpProvider) {$ locationProvider.hashPrefix ( "!"); $ routeProvider .when ( "/ лицензирование", {templateUrl: "Приложение / лицензирование / licensing.html", контроллер: "LicensingController", controllerAs: "VM"}) .otherwise ({RedirectTo: "/ лицензирование"}); }}) (); index.html karma.conf.js // базовый путь, который будет использоваться для решения всех моделей (например, файлы, исключить.) BasePath: «» список, // файлов / шаблонов для загрузки файлов браузера: [»./ node_modules / угловой / angular.js', // Угловая Framework './node_modules/@uirouter/angularjs/release/angular-ui-router.js', // UI-маршрутизатор' ./node_modules/angular-mocks/angular- mocks.js', // загружает модуль для испытаний './app/licensing/licensing.controller.js', // Лицензирование регулятору ./app/app.module.js', // Наша Угловое приложение». /app/licensing/licensing.controller.spec.js' // Licensing контроллер Spec файла], license.controller.js (функция () { "использовать строгий", Угловое .module ( "приложение") .controller ( "LicensingController" , LicensingController) функция LicensingController () {// Некоторый код}}) (); licensing.controller.spec.js описывают ( "Licensing форма", функция () {уаг LicensingController; beforeEach (angular.mock.module ( "приложение")); beforeEach (инъекционные (функция (_LicensingController_) {LicensingController = _LicensingController_;}) ), она ( "это тест для пустышки (2 + 2)", функция () {ожидать (2 + 2) .toEqual (4);});}); JS (функция () { "использовать строгий"; угловые .module ( "приложение") .controller ( "LicensingController", LicensingController) Функция LicensingController () {// Некоторый код}}) (); licensing.controller.spec.js описывают ( "Licensing форма", функция () {уаг LicensingController; beforeEach (angular.mock.module ( "приложение")); beforeEach (инъекционные (функция (_LicensingController_) {LicensingController = _LicensingController_;}) ), она ( "это тест для пустышки (2 + 2)", функция () {ожидать (2 + 2) .toEqual (4);});}); JS (функция () { "использовать строгий"; угловые .module ( "приложение") .controller ( "LicensingController", LicensingController) Функция LicensingController () {// Некоторый код}}) (); licensing.controller.spec.js описывают ( "Licensing форма", функция () {уаг LicensingController; beforeEach (angular.mock.module ( "приложение")); beforeEach (инъекционные (функция (_LicensingController_) {LicensingController = _LicensingController_;}) ), она ( "это тест для пустышки (2 + 2)", функция () {ожидать (2 + 2) .toEqual (4);});});
Ankit Prajapati
1

голосов
1

ответ
349

Просмотры

Ошибка: Не удается создать компонент ComponentClass, поскольку он не был импортирован в модуль тестирования

У меня есть над испытательной базой, установленной на угловом Кли 6.0.1 приложении. Использование жасмин V2.8.0 и Карма V2.0.0 я получаю следующее сообщение об ошибке на линии 13 Ошибка: Не удается создать компонент AddressLookUpDirective, поскольку он не был импортирован в модуль тестирования! Не могу понять, что происходит не так .. любые предложения приветствуются импорт {TestBed, ComponentFixture} от «@ угловые / ядра / тестировании»; импорт {BrowserDynamicTestingModule, platformBrowserDynamicTesting} от «@ угловой / платформы браузера динамический / тестирование»; импорт {AddressLookUpDirective} от './address-look-up.directive'; описывает ( 'AddressLookUpDirective', () => {пусть компонент: AddressLookUpDirective; пусть арматура: ComponentFixture; beforeEach (() => {{TestBed.configureTestingModule (объявления: [AddressLookUpDirective]}); Светильник = TestBed.createComponent (AddressLookUpDirective); Компонент = fixture.componentInstance; }); });
fidev
1

голосов
1

ответ
81

Просмотры

Угловые модульные тесты - запуск Chrome после успешной сборки (с учетом длительного времени)

На некоторых машинах, строящих Угловое приложение занимает более 2 * 60s (тайм-аут по умолчанию для Chrome начала карма, чтобы поймать содержание). Есть ли способ, чтобы заставить Карму начать Chrome после сборки закончена? Мой package.json: { "зависимость": { "@ угловой / анимация": "4.4.4", "@ угловой / общий": "4.4.4", "@ угловом / компилятора": "4.4.4", "@ угловом / ядра": "4.4.4", "@ угловых / форм": "4.4.4", "@ угловое / HTTP": "4.4.4", "@ угловой / платформы-браузер": «4,4 0,4" , "@ угловой / платформы браузера динамический": "4.4.4", "@ угловой / платформы-сервер": "4.4.4", "@ угловой / маршрутизатор": "4.4.4", " rxjs ": "5.4.3", & Config.angularCli.codeCoverage? [ 'Прогресс', 'освещение-Стамбул']: [ 'Прогресс', 'kjhtml'], порт: 9876, цвет: правда, LOGLEVEL: config.LOG_INFO, autoWatch: правда, autoWatchDelay: 1000, браузеры: [ 'Chrome' ], singleRun: ложь}); };
koral
1

голосов
1

ответ
423

Просмотры

Тестирование компонент, который использует службу, чтобы получить некоторые данные

У меня есть служба, которая читает некоторые данные из хранилища, а затем, основываясь на том, что данные возвращает логическое Observable. Это: импорт {инъекционные} от «@ угловой / ядро»; импорт {} Наблюдаемые из 'rxjs / Наблюдаемые'; импорт {Магазин} от '@ ngrx / магазина'; импорт *, как _ от 'lodash'; @Injectable () экспорт класса SomeService {enabledObv $: Наблюдаемое; конструктор (частный магазин: магазин) {enabledObv $ = this.store.select ( 'некоторые-магазин'); } checkIfExists $ (someData: любой): Наблюдаемое {возвращающего this.enabledObv $ .map ((DATACLASS: любой) => {возвращать _.includes (dataClass.someField, someData);}); }} Теперь, эта служба используется в качестве компонента. В частности, я использую метод checkIfExists $ против некоторых ценностей, которые у меня есть в моем компоненте. На запуске тестов я получаю сообщение об ошибке: импорт {асинхронные, ComponentFixture, TestBed} от «@ угловых / ядра / тестирований»; импорт {RouterTestingModule} от '@ угловой / маршрутизатор / тестирование'; импорт {rootReducer} от '../../../../store/root-reducer'; импорт {SomeComponent} от './some.component'; импорт {SomeService} от '../../../../shared/services/config/some.service'; описывает ( 'SomeComponent', () => {пусть компонент: SomeComponent; пусть арматура: ComponentFixture; beforeEach (асинхронный (() => {TestBed.configureTestingModule ({объявления: [SomeComponent], импорт: [// модулей, что компонент используют], провайдер: [SomeService]}) compileComponents ();})); beforeEach (() => {арматура = TestBed.createComponent (SomeComponent);. Компонент = fixture.componentInstance; fixture.detectChanges (); }); она ( 'должна создать', () => {ожидать (компонент) .toBeTruthy ();}); }); Как было предложено, добавив код компонента: экспорт класса SomeComponent реализует OnInit, OnDestroy {ifExistsA $: Наблюдаемый; // ------------------------------------------------ ------------------------------------ конструктор (частный someService: SomeService, частный магазин: магазин) {} ngOnInit () {this.initAEnabled (); } Частная initAEnabled (): пустота {this.ifExistsA $ = this.someService.checkIfExists $ (valueToBeChecked); }} Теперь ifExistsA $ используется в HTML-файл с асинхронным трубы, чтобы показать что-то. Доступ как: ifExistsA $ | асинхронный По существу, я использую ifExistsA $, чтобы показать некоторые данные, в зависимости от его присутствия в магазине. На выполнении этого теста я получаю ошибку: TypeError: Не удается прочитать свойство «DATACLASS» неопределенных Где я буду неправильно? Есть ли у меня что-то сделать с помощью службы, кроме добавления его в качестве поставщика? Есть ли у меня издеваться это? Если я должен дразнить его, я должен обеспечить некоторую ценность для DATACLASS? Если да, то как я могу это сделать?
1

голосов
0

ответ
28

Просмотры

Не сообщать о пропущенных тестах с кармой-жасмин-HTML-репортером

Есть ли способ, чтобы предотвратить карма-жасмин-HTML-репортер аки kjhtml из отчетности пропущено / в ожидании тестов? Я бег несколько тестов подгонки и fdescribe, и я хочу видеть результаты только для выбранных тестов, однако, репортер всегда отображая все тесты из пакета.
Slava Fomin II
1

голосов
1

ответ
689

Просмотры

карма не запускается с флагом часов после того, как угловое 7 обновления

После обновления до угловой 7 из угловых 6 с минимальными изменениями кода в нашем хранилище кода, карма однотонных проходит тест стал очень медленно, и при работе с параметром часов установлено значение истинно, оно не перезагружать / повторно связать тесты сразу после сохранения файл, в котором в основном это занимает 4 минуты, после сохранения файла, чтобы повторно запустить тест бегун, или в некоторых случаях это время ожидания. Один нг тестов кармы работать с угловым-обычно занимает около 3 минут, как это было в угловых 6. 4 минут медленное время в угловом 7 упорствует даже при выполнении одного файла спецификации, которая используется для займут считанные секунды, чтобы запустить и восстановить до того модернизация углового содержимого файла 7. Package.json: { "имя": "мой проектируемое", "описание": "asdfa", "версия": "0.0.0-девелопмент", "лицензия": "нелицензированная", «скрипты»: { «нг»: «нг», «старт»: «нг служат --hmr», «построить»: «нг сборки», «строительство-C»: «нг построить --prod», «тест ": "нг тест---code покрытие", "тест-CI": "тест нг --watch = ложный --browsers ChromeHeadlessNoSandbox --code-покрытие", "пух": " tslint --project"," э2э «:„нг э2э“},„частная“: правда,„dependenciesComments“: {„угловой сплит-NG6“:» Эта ответвление основной (брошенная) угловой-сплит библиотеки вилка включает в себя rxjs 6 обновления. «. }, "Зависимость": { "@ угловая / анимация": "^ 7.0.0", "@ угловой / CDK": "^ 7.0.0", " // по умолчанию 2000 captureTimeout: 60000, // по умолчанию 60000 customLaunchers: {ChromeHeadlessNoSandbox: {основание: 'ChromeHeadless', флаги: [ '--no-песочница', '--no-прокси-сервер', «- отключить графические процессоры '// https://bugs.chromium.org/p/chromium/issues/detail?id=737678]}, {ChromeDebug: база: Хром ", флаги: [' --remote-отладочный-порт = 9222' ]}}}); }; наконец, мой test.ts файл содержания: // Этот файл необходим karma.conf.js и загружает рекурсивно весь ввозные .spec и рамочные файлов «zone.js / DIST / длинный стек-след-зону»; импорт 'zone.js / DIST / proxy.js'; 'Zone.js / DIST / синхронизация-тест' импорт; импорт 'zone.js / DIST / жасмин-патч'; Зона импорт». JS / расстояние / асинхронной-тест '; 'Zone.js / DIST / поддельной Асинхр-тест' импорта; импорт {getTestBed} от '@ угловой / ядро ​​/ тестирования'; импорт {BrowserDynamicTestingModule, platformBrowserDynamicTesting} от «@ угловой / платформы браузера динамический / тестирование»; // К сожалению, нет типирование для `__karma__` переменной. Просто объявить его как любой. // tslint: не отключить, следующий строки: нет-любой объявить константный __karma__: любой; // tslint: отключить-следующую строку: нет-любого объявить сопзЬ не требуется: любой; импорт {} licensemanager В от 'AG-грид-предприятия / главный'; импорт {среда} от './environments/environment'; LicenseManager.setLicenseKey (environment.licenses [ 'AG-сетка']); // Предотвращение Karma от работы преждевременно. . __Karma __ загружен = функция () {}; // Во-первых, инициализировать Угловое среды тестирования. getTestBed (). initTestEnvironment (BrowserDynamicTestingModule, platformBrowserDynamicTesting ()); // Тогда мы находим все тесты. Const контекст = require.context ( './', правда, /\.spec\.ts$/); // И загрузить модули. . Context.keys () карта (контекст); // Наконец, начинают карму для запуска тестов. __karma __ запуска ().
Samer s Salib
1

голосов
1

ответ
63

Просмотры

Как исправить ошибку, которая возвращает gitlab CI после запуска кармических испытаний?

--ppid», 985]} Работа удалось Несмотря на эту работу удалось, до этого у меня была ошибка. Как я могу избавиться от него?
Anastasia
1

голосов
0

ответ
87

Просмотры

как импортировать ES6 модули в карму

Я пытаюсь сделать некоторые тесты с кармой, мокко и Chai. Я запутался, как правильно импортировать модуль ES6 в карму. Я уже использую карма-Бабель-препроцессор. Может кто-нибудь мне помочь, спасибо! Здесь ошибка при запуске теста НПМ Вот мой karma.conf.js module.exports = функция (конфигурации) {config.set ({BasePath: '', рамки: [ 'Мокко', 'Chai'], файлы: [ 'SRC / index.js', 'тест / test_karma.js'], исключить: [], препроцессоры: { 'SRC / index.js': [ 'Бабель], 'тест / test_karma.js': [' Бабель ]}, babelPreprocessor: {опция: {предустановки: [ '@ столпотворение / предустановка-ENV']}}, репортеры: [], порт 'прогресс': 9876, цвет: правда, LOGLEVEL: config.LOG_INFO, autoWatch: правда, браузеры: [» ChromeHeadless', 'Chrome'], singleRun: ложь, параллелизм: бесконечность})} Вот мой index.js Const SayHello = () => {возвращение 'привет карма'} экспорт {SayHello} Вот мой test_karma.js импорт { SayHello} от '../src/index'; импорт Chai из 'Chai'; описывают ( 'тест', () => {это ( 'тест', () => {chai.assert (SayHello () === 'Привет', 'что-нибудь')})})
smilebuz
1

голосов
0

ответ
514

Просмотры

WARN [промежуточное программное обеспечение: карма]: Invalid типа файла, по умолчанию JS. Т.С.

При запуске модульного тестирования с помощью кармы, я получил эти предупреждения: 12 02 2019 14: 01: 05,740: WARN [промежуточное программное обеспечение: карма]: Invalid типа файла, по умолчанию JS. TS 12 02 2019 14: 01: 05,741: WARN [промежуточное программное обеспечение: карма]: Invalid тип файла, по умолчанию JS. ц я предположил, что тип файла karma.conf.js вызвал вопрос, поэтому я изменил его на karma.conf.ts. Однако этот вопрос до сих пор происходило, так что было бы здорово, если бы кто-то может сказать мне, как отключить это предупреждение. Ниже подаст karma.conf.ts module.exports = функция karmaConfig (конфигурация) {config.set ({singleRun: правда, рамки: [ 'жасмин'], файлы:. [ «SDK / ** / * spec.ts '], препроцессоры: { '/ ** SDk / * spec.ts.': [' Webpack ' 'sourcemap'], 'SDK / ** / (* спецификация.) .ts!': [' {Статистика: 'ошибки только'}, LOGLEVEL: config.LOG_INFO,}); }; Я использую WebPack 4.16.5 и карма 4.0.0
Nguyen Phong Thien
1

голосов
1

ответ
2k

Просмотры

$httpbackend from ngMockE2E never called

Я пытаюсь сделать некоторые тесты E2e backendless, так что мне нужно издевается вызовы API. Вот что я сделал: angular.module ( 'foo.bar.e2eConf', [ 'foo.bar', 'ngMockE2E']). пробег (функция ($ httpBackend) {. $ httpBackend.whenGET ( '/ Foo / бар') ответить ({Foo: 'бар'});}); Затем я настроил мой Conf / karma.e2e.conf как это (тракты в порядке): Var BasePath = '../'; вар файлы = [ANGULAR_SCENARIO, ANGULAR_SCENARIO_ADAPTER, // Бауэра ЛИЭС 'компоненты / угловой / index.js', 'компонента / JQuery / jquery.js', 'компонента / угловой ресурс / index.js', «компонента / угловая-издевается /index.js', 'компоненты / Chai / chai.js', 'тест / chai.conf.js', 'SRC / приложение / ** / * JS', {шаблон: '. ЦСИ / приложение / ** / . обертоны / * tpl.html», включены: ложь}, 'тест / e2e / ** / * JS'];. вар singleRun = ложь; вар браузеры = [ 'Chrome']; вар прокси = { '/': 'HTTP: // локальный: 8000 /'}; Я могу запустить тесты, которые не включают вызовы API, но когда я запускаю тест, который включает в себя это я получаю хороший Не удалось загрузить ресурс: сервер ответил со статусом 404 (Not Found) HTTP: // локальный: 9876 / Foo / бар я предполагаю, что я неправильно настроена некоторые вещи, но я не могу понять, что ?? Есть ли конфликт между прокси и издеваться? т.е. проксирование / Foo / бар в HTTP: // локальный: 8000 / Foo / бар вместо того, чтобы использовать макет? Любая идея? С уважением Xavier сервер ответил со статусом 404 (страница не найдена) HTTP: // локальный: 9876 / Foo / бар я предполагаю, что я неправильно настроена некоторые вещи, но я не могу понять, что ?? Есть ли конфликт между прокси и издеваться? т.е. проксирование / Foo / бар в HTTP: // локальный: 8000 / Foo / бар вместо того, чтобы использовать макет? Любая идея? С уважением Xavier сервер ответил со статусом 404 (страница не найдена) HTTP: // локальный: 9876 / Foo / бар я предполагаю, что я неправильно настроена некоторые вещи, но я не могу понять, что ?? Есть ли конфликт между прокси и издеваться? т.е. проксирование / Foo / бар в HTTP: // локальный: 8000 / Foo / бар вместо того, чтобы использовать макет? Любая идея? С уважением Xavier
xavier.seignard
1

голосов
1

ответ
1.4k

Просмотры

Использование кармы для проверки Javascript на мобильных устройствах

Я работаю над проектом, где мы создаем веб-приложение и прямо сейчас мы запускаем наш юнит-тесты на наших настольных браузеров. Однако кто-то из команды выразили озабоченность с нами не делать юнит-тестирование на мобильных браузерах приложение предполагается запустить на. Есть ли способ для запуска тестов жасмина с помощью кармы на мобильных устройствах, и если да, то каким образом?
Metareven
1

голосов
2

ответ
451

Просмотры

Как отлаживать тесты с karma.js + require.js

У меня есть установка в основном описана здесь - http://karma-runner.github.io/0.8/plus/RequireJS.html Проблема заключается в том, что я не могу видеть исходные файлы моих тестов в Chrome Дев инструментов. Поэтому я не могу отладить. Добавление отладчика; работает, но это очень неудобно, практически непригодным для использования, так как я не могу просмотреть любой другой файл, кроме одного с отладчиком; В настоящее время уволено Кажется, загрузочные файлы карма, анализировать их, завернуть каждый тест, а затем выгрузить файлы до запуска.
H1D
1

голосов
1

ответ
82

Просмотры

Тест Кармы бегун спам выхода, когда один тест не пройден

Я использую тест бегун кармы для тестирования AngularJs контроллеров и т.д. (Windows 7, phantomJs) При выполнении тестов на моей машине я получаю строку на выходе для каждого теста, который запускал. например: PhantomJS 1.9.1 (Windows 7): Выполнено 156 201 (1 FAILED) (0 сек / 0,423 сек PhantomJS 1.9.1 (Windows 7): Выполненный 157 из 201 (1 FAILED) (0 сек / 0,425 сек PhantomJS 1.9 0,1 (Windows 7): Выполненный 158 201 (1 FAILED) (0 сек / 0,426 сек PhantomJS 1.9.1 (Windows 7): Выполненный 159 из 201 (1 FAILED) (0 сек / 0,427 сек PhantomJS 1.9.1 (Windows 7): Выполненный 160 201 (1 FAILED) (0 сек / 0,429 сек PhantomJS 1.9.1 (Windows 7): Выполненный 161 из 201 (1 FAILED) (0 сек / 0,43 сек) PhantomJS 1.9.1 (Windows 7): Выполненный 162 201 (1 FAILED) (0 сек / 0,432 сек PhantomJS 1.9.1 (Windows 7): 163 Выполненные из 201 (1 FAILED) (0 сек / 0,433 сек PhantomJS 1.9. До сих пор я пытался переустановить карму но безрезультатно. Есть некоторые настройки я облажался или что-то окружающая среда? До сих пор я пытался переустановить карму но безрезультатно. Есть некоторые настройки я облажался или что-то окружающая среда?
rasmusvhansen
1

голосов
1

ответ
1.9k

Просмотры

Карма, как ввести поле ввода и отправить форму с помощью JQuery

// включить / отключить цвета в выводе (репортеры и журналы) цвет: верно, // уровня лесозаготовок // возможных значения: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG LOGLEVEL: config.LOG_INFO, // включить / отключить смотреть файл и выполнения тестов, когда любой файл изменяет autoWatch: истина, // Запуск этих браузеров, в настоящее время доступны: // - // Хром - ChromeCanary // - Firefox // - Opera // - Safari (только Mac) // - // PhantomJS - IE (только Windows) браузеры: [ 'PhantomJS', 'Chrome'], // Если браузер не улавливает в данной тайм-аут [мс], убить его captureTimeout: 10000, прокси: { '/': 'HTTP: // локальный: 8080 /' // Имейте это в синхронизации с LOCALHOST порта в Gruntfile. }, UrlRoot: «/ _Karma_ /», // режим непрерывной интеграции // если это правда, это захватить браузеры, запускать тесты и выйти из singleRun: ложь}); }; И у меня есть тестовый пример: 'использовать строгий' описывают ( "A люкс", функция () {он ( "содержит спецификации с ожиданием", функция () {браузер () navigateTo ( '/') $ ( '#. имя пользователя '). вал ('[email protected]') $ ( '# пароль'). вал ( '*******') $ (». submitLogin'). нажмите () ожидать (браузер () . .Location () URL ()) Тоба ( '/ приветствовать')});.}); Я могу перемещаться браузер с помощью браузера () navigateTo ( '/ URL'). Но я не могу заставить его представить свои ценности. Любые идеи, как я мог бы достичь? ложный }); }; И у меня есть тестовый пример: 'использовать строгий' описывают ( "A люкс", функция () {он ( "содержит спецификации с ожиданием", функция () {браузер () navigateTo ( '/') $ ( '#. имя пользователя '). вал ('[email protected]') $ ( '# пароль'). вал ( '*******') $ (». submitLogin'). нажмите () ожидать (браузер () . .Location () URL ()) Тоба ( '/ приветствовать')});.}); Я могу перемещаться браузер с помощью браузера () navigateTo ( '/ URL'). Но я не могу заставить его представить свои ценности. Любые идеи, как я мог бы достичь? ложный }); }; И у меня есть тестовый пример: 'использовать строгий' описывают ( "A люкс", функция () {он ( "содержит спецификации с ожиданием", функция () {браузер () navigateTo ( '/') $ ( '#. имя пользователя '). вал ('[email protected]') $ ( '# пароль'). вал ( '*******') $ (». submitLogin'). нажмите () ожидать (браузер () . .Location () URL ()) Тоба ( '/ приветствовать')});.}); Я могу перемещаться браузер с помощью браузера () navigateTo ( '/ URL'). Но я не могу заставить его представить свои ценности. Любые идеи, как я мог бы достичь? ) $ ( '# Пароль'). Вал ( '*******') $ (». SubmitLogin '). Нажмите () ожидать (браузер (). Расположение (). URL ()). Тобе (' / добро пожаловать ')}); }); Я могу перемещаться браузер с помощью браузера () navigateTo ( '/ URL'). Но я не могу заставить его представить свои ценности. Любые идеи, как я мог бы достичь? ) $ ( '# Пароль'). Вал ( '*******') $ (». SubmitLogin '). Нажмите () ожидать (браузер (). Расположение (). URL ()). Тобе (' / добро пожаловать ')}); }); Я могу перемещаться браузер с помощью браузера () navigateTo ( '/ URL'). Но я не могу заставить его представить свои ценности. Любые идеи, как я мог бы достичь?
Lukasz
1

голосов
1

ответ
484

Просмотры

Установка кармы cloudbees

Я пытаюсь установить карму cloudbees / Дженкинс. Я добавил этот сценарий предварительно сборки: # установить nodejs, при использовании cloudbees локон -s -o использовать-узел https://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/node/use-node NODE_VERSION = 0.11.1 источник ./use-node # установить phantomjs, карма [-d node_modules / phantomjs] || NPM установить -g phantomjs [-d node_modules / карма] || NPM установить -g карму [-d node_modules / карма-JUnit-репортер] || NPM установить -g карма-JUnit-репортер [-d node_modules / карма-phantomjs-пусковая] || NPM установить -g карму-phantomjs-пусковой Я не уверен, что [команду здесь] || Синтаксис средства в Баш. Может кто-нибудь пожалуйста, посоветовать? Вот выход из Дженкинс: Автор пользователя Balteo Balteo Building удаленно на втор-50416de2 в рабочее пространство / царапина / Jenkins / рабочее пространство / bignibou блока Checkout: последняя / бен / Java -cp /scratch/jenkins/maven3-agent.jar:/opt/maven/latest/boot/plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main / Opt / Maven / последняя /scratch/jenkins/slave.jar /scratch/jenkins/maven3-interceptor.jar 47241 канал начал log4j: WARN нет appenders не может быть найдено для регистратора (org.apache.commons.beanutils.converters.BooleanConverter). log4j: WARN Пожалуйста, инициализировать систему log4j правильно. Выполнение Maven: -B -f /scratch/jenkins/workspace/bignibou-unit/pom.xml тест [INFO] Сканирование для проектов ... [INFO] [INFO] ------------- -------------------------------------------------- --------- [INFO] Жилищный bignibou 0.1.0.BUILD-ПАНОРАМА [INFO] -------------------------- ---------------------------------------------- [ИНФОРМАЦИЯ] [ INFO] --- склонный-Maven-плагин: 1.0.6: mock.staticmock.AbstractMethodMockingControl не был применен [Xlint: adviceDidNotMatch] [ВНИМАНИЕ] не были применены рекомендации определены в org.springframework.scheduling.aspectj.AbstractAsyncExecutionAspect [Xlint: adviceDidNotMatch] [INFO] [INFO] --- Maven-ресурсы -plugin: 2,6: ресурсы (по умолчанию-ресурсы) @ bignibou --- кодирование [] с помощью 'UTF-8', чтобы скопировать отфильтрованные ресурсы. [INFO] Копирование 44 ресурсов [INFO] [INFO] --- Maven-компилятор-плагин: 2.5.1: компилировать (по умолчанию-компиляции) @ bignibou --- [INFO] Ничего не компилировать - все классы до даты [ INFO] [INFO] --- AspectJ-Maven-плагин: 1.2: тест-компиляции (по умолчанию) @ bignibou --- [INFO] [INFO] --- Maven-ресурсы-плагин: 2.6: testResources (по умолчанию-testResources) @ bignibou --- [INFO] Используя кодировку 'UTF-8', чтобы скопировать отфильтрованные ресурсы. XML в /home/balteo/hudson_home/jobs/bignibou-unit/modules/com.bignibou$bignibou/builds/2013-10-26_13-17-27/archive/com.bignibou/bignibou/0.1.0.BUILD-SNAPSHOT /bignibou-0.1.0.BUILD-SNAPSHOT.pom Ожидание для Дженкинс, чтобы закончить сбор исключений mavenExecutionResult данных не пустое сообщение: не удалось выполнить цели com.kelveden: Maven-карма-плагин: 1.3: начало (карма) по проекту bignibou: Там ошибка выполнения кармы. причина: Была ошибку выполнения Кармы. Трассировка стека: org.apache.maven.lifecycle.LifecycleExecutionException: Не удалось выполнить цели com.kelveden: Maven-карма-плагин: 1.3: начало (карма) по проекту bignibou: Был ошибка выполнения Кармы. на org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:217) при org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:153) в org.apache. innerRun (FutureTask.java:334) при java.util.concurrent.FutureTask.run (FutureTask.java:166) при java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:615) в java.lang.Thread.run (Thread.java:724) Вызванный: org.apache.maven.plugin.MojoExecutionException: был ошибка выполнения кармы. на com.kelveden.karma.StartMojo.createKarmaProcess (StartMojo.java:196) в com.kelveden.karma.StartMojo.execute (StartMojo.java:124) в org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java : 101) в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:209) ... 27 более Вызванный: java.io.IOException: не удается запустить программу "карма": ошибка = 2,
balteo
1

голосов
1

ответ
3.4k

Просмотры

Тестирование AngularJS директива, которая изменяет другие сферы в Карме / Jasmine

Справка: Модульное тестирование AngularJS Директива: SCOPES не обновляется? Дело у меня есть директива под названием редактируемой, которые принимают нг-модель и создают переключаемое / изменяемое поле. Директива работает и родительская сфера обновляется правильно, нет никаких проблем в реальной функции директивы. Я не могу написать тест, который поддерживает это, хотя. Мне потребовалось много времени, чтобы получить директиву работает должным образом со всеми оговорками, так что я действительно хочу, чтобы получить некоторые тесты на месте, чтобы убедиться, что он продолжает работать во всех различных случаях. Директива (который работает), я не могу быть уверен, какие части будут актуальны, так что я включил все это. app.directive ( 'редактируемые', [ '$ templateCache', '$ компилировать', функция ($ templateCache, $ компиляции) {возвращение {ограничение: 'A', transclude: правда, templateUrl: 'шаблон / директивы / editable.html', заменить: правда, требуют: 'ngModel', объем: верно, компилировать: функция (элемент, AttrS, transcludeFn) {возвращение функции (сфера, IElement, iAttrs, Ctrl) . {вар validityId = 'editable-' + $ Объем ID; scope.lastSavedValue = iElement.find ( 'вход') Val (). scope.storeValue = функция () {scope.lastSavedValue = iElement.find ( 'вход') Val (). }; scope.edit = функция () {scope.storeValue (); scope.editing = TRUE; $ ( 'Вход', IElement) .focus () выберите (). упр. $ SetValidity (validityId, правда); }; . Scope.ok = функция () {вар inputCtrl = iElement.find ( 'вход') контроллер ( 'ngModel'); если ($ inputCtrl действует === верно.) {scope.editing = ложь; scope.value = inputCtrl $ viewValue. . Ctrl $ setValidity (validityId, ложь); Ctrl $ setViewValue (inputCtrl $ viewValue.). // Не уверен (почему) это необходимо}}; Сфера [ 'удалить'] = функция () {scope.deleted = TRUE; scope.editing = ложь; }; объем. . Отмена = функция () {вар inputCtrl = iElement.find ( 'вход') контроллер ( 'ngModel'); если (scope.lastSavedValue) {$ inputCtrl setViewValue (scope.lastSavedValue). scope.value = scope.lastSavedValue; Ctrl $ setViewValue (scope.lastSavedValue). } IElement.find ( 'вход') вал (scope.value). scope.editing = ложь; scope.deleted = ложь; . Ctrl $ setValidity (validityId, ложь); }; transcludeFn (область применения, функция (клон) {вар $ editingReplacement = $ (клон) .filter ( '[редактирование]'); переменная $ viewingReplacement = $ (клон) .filter ( '[просмотр]'); вар $ deletedReplacement = $ (клон) .filter ( '[удалено]'); переменный $ viewingControls = $ (». редактируемый-представление-контейнер .controls', IElement); переменный $ editingControls = $ (». редактируемый-вход-контейнер .controls', IElement); вар $ deletedControls = $ (»редактируемые-Delete-контейнер .controls., IElement); если ($ editingReplacement.length) {$ ( 'редактируемого-вход-контейнер.', IElement) .html ($ editingReplacement.html ()); $ ( 'Редактируемый-вход-контейнер', IElement) .append ($ editingControls); $ Компиляции ($ ( 'редактируемый-вход-контейнер', IElement)) (масштаб); } Еще {$ ( 'редактируемые-вход-контейнер', IElement) .find ( 'вход') Attr ( 'нг-модель', iAttrs [ 'ngModel']). $ Компиляции ($ ( 'редактируемый-вход-контейнер.', IElement)) (масштаб); } Если ($ viewingReplacement.length) {$ ( 'редактируемого-представление-контейнер.', IElement) .html ($ viewingReplacement.html ()); $ ( 'Редактируемый ракурс-контейнер., IElement) .append ($ viewingControls); $ Компиляции ($ ( 'редактируемые-View-контейнер.', IElement)) (масштаб); } Если ($ deletedReplacement.length) {$ ( 'редактируемые-удалить-контейнер', IElement). HTML ($ deletedReplacement.html ()); $ (, IElement 'редактируемые-удалить-контейнер.') .Append ($ deletedControls); }}); / ** * Исключен (Isolated Scope) * * Дорожки, если пользователь нажал кнопку Удалить * * @type {Boolean} * / scope.deleted = ложь; / ** * Редактирование (Isolated Scope) * * Отслеживает состояние зрения * * @type {Boolean} * / scope.editing = ложь; / ** * начальный загрузчик * * Выполнить один раз после того, как загружен Ctrl * * @return {[типа]} [описание] * / переменная unbindWatcher = $ Объем часов (функция () {возвращение Ctrl $ modelValue;.}., Функция ( newVal, oldVal) {если (TypeOf Ctrl $ modelValue == 'не определено') {scope.value = CTRl $ modelValue; scope.editing = CTRl $ modelValue ложь:.!..? правда, unbindWatcher ();}}); }; }}; }]); Spec завершается в конце описания ( «Editable директиву», функция () {// Сохраняют ссылки на элемент и объем, так что они будут доступны для всех тестов варов элементов, рамки, Ctrl; beforeEach (модуль ( 'ltAccountApp')); beforeEach (модуль (шаблоны)); beforeEach (инъекционные (функция ($ rootScope, $ компиляции) {вар linkFn, эл // сфера = $ rootScope; сфера = $ rootScope $ новый ();. scope.testValue = 'ххх'; эш = angular.element (» \ \ «); // метод $ компиляции возвращает функция ссылка Директивы linkFn = $ компилировать (эл); // функция возвращает ссылку на результирующий объект элемента DOM = linkFn (сфера);. element.scope () $ применяются ( ); Ctrl = element.controller ( 'ngModel');})); он ( «должен присвоить значение, введенное значение области», функция () {ожидать (element.find ( 'вход') Val ().) toEqual (scope.testValue). }); он ( 'должен иметь доступ к родительской области переданной переменной в директиве', функция () {ожидать (Ctrl $ viewValue) .toEqual (scope.testValue).. ожидать (Ctrl $ modelValue) .toEqual (scope.testValue);} ); он ( 'должен правильно управлять государственным редактирование', функция () {ожидать (element.scope () для редактирования) .toBe (ложь).. element.scope () редактировать ();. ожидать (element.scope () для редактирования) .toBe (истина);}); она ( 'должна управлять государством правильно удаленные, функция () {ожидать (element.scope () удален) .toBe (ложь);. element.scope () [ 'удалить'] (); ожидать (element.scope () .deleted) .toBe (истина);}); он ( «должен быть в состоянии изменить Родительская переменная сфера перешла в директиву», функция () {// Не уверен, что это делает, добавляемые ссылочного SO вопроса // spyOn (объем, '$ применять') andCallThrough (). вар новое_значение = 'YYY'; element.scope () редактировать (). element.find ( 'вход') вал (новое_значение). element.find ( 'вход') триггер ( 'вход'). element.scope () нормально (). ожидать (. Ctrl $ viewValue) .toEqual (новое_значение); ожидать (. Ctrl $ modelValue) .toEqual (новое_значение); ожидать (. element.scope () значение) .toEqual (новое_значение); ожидать .toHaveBeenCalled () (сфера $ применяются.); ожидать (scope.testValue) .toEqual (новое_значение); // . Найти ( 'вход') Вал (новое_значение); element.find ( 'вход') триггер ( 'вход'). element.scope () нормально (). ожидать (. Ctrl $ viewValue) .toEqual (новое_значение); ожидать (. Ctrl $ modelValue) .toEqual (новое_значение); ожидать (. element.scope () значение) .toEqual (новое_значение); ожидать .toHaveBeenCalled () (сфера $ применяются.); ожидать (scope.testValue) .toEqual (новое_значение); // . Найти ( 'вход') Вал (новое_значение); element.find ( 'вход') триггер ( 'вход'). element.scope () нормально (). ожидать (. Ctrl $ viewValue) .toEqual (новое_значение); ожидать (. Ctrl $ modelValue) .toEqual (новое_значение); ожидать (. element.scope () значение) .toEqual (новое_значение); ожидать .toHaveBeenCalled () (сфера $ применяются.); ожидать (scope.testValue) .toEqual (новое_значение); //
km6zla
1

голосов
1

ответ
559

Просмотры

EmberJS testing with Karma - runloop error with PhantomJS but not with chrome

1) DEBUG: 'DEBUG: Эмбер: 1.4.0' Chrome 33.0.1750 (Mac OS X 10.9.1) DEBUG: 'DEBUG: Ember данных: 1.0.0-beta.7 + canary.b45e23ba' Chrome 33.0.1750 ( Mac OS X 10.9.1) DEBUG: 'DEBUG: Рули: 1.0.0 Хром 33.0.1750 (Mac OS X 10.9.1) DEBUG: 'DEBUG: JQuery: 1.9.1' Chrome 33.0.1750 (Mac OS X 10.9 0,1) DEBUG: 'DEBUG: -------------------------------' Chrome 33.0.1750 (Mac OS X 10.9. 1) DEBUG: 'DEBUG: Для более продвинутой отладки, установите Ember инспектор из https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi' PhantomJS 1.9.7 (Linux) ERROR Ошибка: Assertion Failed: Вы включили режим тестирования, который отключить автозапуск вводной петли в. Вам нужно будет обернуть любой код с асинхронными побочными эффектами в Эмбере. работать на /apps/contentpartnerpages/ember/app/bower_components/ember/ember.js:73 Chrome 33.0.1750 (Mac OS X 10.9.1) Медленное 0,743 секунд: тесты Чаты фильтра проверить добавление чатов в магазин Chrome 33.0.1750 (Mac OS X 10.9.1) Медленное 0,649 секунд: чаты тесты фильтров проверки количество пропущенных чатов Chrome 33.0.1750 (Mac OS X 10.9.1) Медленное 0.763 сек: Chats тесты фильтра проверить, что спарклайны обновление Chrome 33.0.1750 (Mac OS X 10.9.1) SLOW 0.657 секунд: Чаты тесты фильтров проверки глобальных фильтров применяются к дочерним контроллерам Chrome 33.0.1750 (Mac OS X 10.9.1) Медленное 0,783 ИКС: Чаты тесты фильтров проверить локальные фильтры работают с глобальными фильтрами PhantomJS 1.9.7 ( Linux): Выполненный 0 из 0 ОШИБКА (0,642 ИКС / 0 ИКС) Chrome 33.0.1750 (Mac OS X 10.9.1): Выполненный 6 из 6 УСПЕХА (4.301 сек / 3.966 ИКС) Как вы можете видеть, что они четко работают в хроме ! Я могу'
real_ate
1

голосов
1

ответ
1.4k

Просмотры

Угловой тест кармы: TypeError свойство только для чтения

Я пытаюсь издеваться этот провайдер «usermanager» в моем тесте контроллера, и я всегда в конечном итоге получить эту TypeError об ошибке: Попытка присвоить ReadOnly свойство. при workFn (C: {...} / bower_components / угловой-Mocks / угловой-mocks.js: 2105) Вот мой контроллер: angular.module ( '') sasApp .controller ( 'RegisterCtrl', функция ($ Объем, usermanager) {// переменные $ scope.captcha = {}; // Получаем искаженным от сервера usermanager.getCaptcha (), а затем (функция (искаженным.) {$ scope.captcha = CAPTCHA,}, функция (причина) {console.log ( 'Ошибка:' + причина);});}); А вот мой тест: описать ( 'Controller: RegisterCtrl', функция () {// загружаем модуль контроллера beforeEach (модуль ( 'sasApp')); вар RegisterCtrl, область применения, mockUsermanager; mockUsermanager = {getCaptcha: функция () {возвращение {тест: 1}; }}; // Инициализация контроллера и макет сферы beforeEach (впрыснуть (функция ($ контроллера, $ rootScope) {Объем = $ rootScope $ новый (); RegisterCtrl = $ контроллера ( 'RegisterCtrl', {$ Объем:. Объем, usermanager: mockUsermanager });})); описывают ( 'Инициализация', функция () {это ( 'должен иметь \' капчу \ 'объект, определенный', функция () {ожидать (scope.captcha) .toBeDefined ();});}); }); Дело в том, что я не получаю эту ошибку, пока я не попытался создать насмешки провайдера «usermanager». Если удалить строку «usermanager: mockUsermanager» в операторе beforeEach, то все работает хорошо. Вы можете определить, что не так? Заранее спасибо! функция () {возвращение {тест: 1}; }}; // Инициализация контроллера и макет сферы beforeEach (впрыснуть (функция ($ контроллера, $ rootScope) {Объем = $ rootScope $ новый (); RegisterCtrl = $ контроллера ( 'RegisterCtrl', {$ Объем:. Объем, usermanager: mockUsermanager });})); описывают ( 'Инициализация', функция () {это ( 'должен иметь \' капчу \ 'объект, определенный', функция () {ожидать (scope.captcha) .toBeDefined ();});}); }); Дело в том, что я не получаю эту ошибку, пока я не попытался создать насмешки провайдера «usermanager». Если удалить строку «usermanager: mockUsermanager» в операторе beforeEach, то все работает хорошо. Вы можете определить, что не так? Заранее спасибо! функция () {возвращение {тест: 1}; }}; // Инициализация контроллера и макет сферы beforeEach (впрыснуть (функция ($ контроллера, $ rootScope) {Объем = $ rootScope $ новый (); RegisterCtrl = $ контроллера ( 'RegisterCtrl', {$ Объем:. Объем, usermanager: mockUsermanager });})); описывают ( 'Инициализация', функция () {это ( 'должен иметь \' капчу \ 'объект, определенный', функция () {ожидать (scope.captcha) .toBeDefined ();});}); }); Дело в том, что я не получаю эту ошибку, пока я не попытался создать насмешки провайдера «usermanager». Если удалить строку «usermanager: mockUsermanager» в операторе beforeEach, то все работает хорошо. Вы можете определить, что не так? Заранее спасибо! // Инициализация контроллера и макет сферы beforeEach (впрыснуть (функция ($ контроллера, $ rootScope) {Объем = $ rootScope $ новый (); RegisterCtrl = $ контроллера ( 'RegisterCtrl', {$ Объем:. Объем, usermanager: mockUsermanager });})); описывают ( 'Инициализация', функция () {это ( 'должен иметь \' капчу \ 'объект, определенный', функция () {ожидать (scope.captcha) .toBeDefined ();});}); }); Дело в том, что я не получаю эту ошибку, пока я не попытался создать насмешки провайдера «usermanager». Если удалить строку «usermanager: mockUsermanager» в операторе beforeEach, то все работает хорошо. Вы можете определить, что не так? Заранее спасибо! // Инициализация контроллера и макет сферы beforeEach (впрыснуть (функция ($ контроллера, $ rootScope) {Объем = $ rootScope $ новый (); RegisterCtrl = $ контроллера ( 'RegisterCtrl', {$ Объем:. Объем, usermanager: mockUsermanager });})); описывают ( 'Инициализация', функция () {это ( 'должен иметь \' капчу \ 'объект, определенный', функция () {ожидать (scope.captcha) .toBeDefined ();});}); }); Дело в том, что я не получаю эту ошибку, пока я не попытался создать насмешки провайдера «usermanager». Если удалить строку «usermanager: mockUsermanager» в операторе beforeEach, то все работает хорошо. Вы можете определить, что не так? Заранее спасибо! $ RootScope) {Объем = $ rootScope $ новый (). RegisterCtrl = $ контроллера ( 'RegisterCtrl', {$ Объем: сфера, usermanager: mockUsermanager}); })); описывают ( 'Инициализация', функция () {это ( 'должен иметь \' капчу \ 'объект, определенный', функция () {ожидать (scope.captcha) .toBeDefined ();});}); }); Дело в том, что я не получаю эту ошибку, пока я не попытался создать насмешки провайдера «usermanager». Если удалить строку «usermanager: mockUsermanager» в операторе beforeEach, то все работает хорошо. Вы можете определить, что не так? Заранее спасибо! $ RootScope) {Объем = $ rootScope $ новый (). RegisterCtrl = $ контроллера ( 'RegisterCtrl', {$ Объем: сфера, usermanager: mockUsermanager}); })); описывают ( 'Инициализация', функция () {это ( 'должен иметь \' капчу \ 'объект, определенный', функция () {ожидать (scope.captcha) .toBeDefined ();});}); }); Дело в том, что я не получаю эту ошибку, пока я не попытался создать насмешки провайдера «usermanager». Если удалить строку «usermanager: mockUsermanager» в операторе beforeEach, то все работает хорошо. Вы можете определить, что не так? Заранее спасибо! должны иметь \ 'капчу \' объект, определенный», функция () {ожидать (scope.captcha) .toBeDefined (); }); }); }); Дело в том, что я не получаю эту ошибку, пока я не попытался создать насмешки провайдера «usermanager». Если удалить строку «usermanager: mockUsermanager» в операторе beforeEach, то все работает хорошо. Вы можете определить, что не так? Заранее спасибо! должны иметь \ 'капчу \' объект, определенный», функция () {ожидать (scope.captcha) .toBeDefined (); }); }); }); Дело в том, что я не получаю эту ошибку, пока я не попытался создать насмешки провайдера «usermanager». Если удалить строку «usermanager: mockUsermanager» в операторе beforeEach, то все работает хорошо. Вы можете определить, что не так? Заранее спасибо!
Bjarki
1

голосов
1

ответ
56

Просмотры

Бросьте хороший «вошли» ошибка в karmaJS браузера пусковой

Я пытаюсь написать пусковую плагин для KarmaJS и все это работает хорошо и все, но когда что-то идет плохо (например, браузер не может быть найден) Я хочу, чтобы отобразить хорошее сообщение об ошибке с помощью бегунка Кармы. В настоящее время я просто делаю певд Error ( «мой текст ошибки»); Который отображает сообщение об ошибке хорошего красных на бревне Karma, но затем также показывает трассировку стеки, почему он разбился. Я бы очень хотел, если бы я только мог бы его бросить ошибку, которая делает хороший текст, а не всю стеку тоже. Это возможно? Если да, то какие-либо идеи, как? Спасибо
TheStoneFox
1

голосов
1

ответ
828

Просмотры

Grunt Karma runs tests but blocks

I have a grunt task to run Karma unit tests using Phantom JS. The tests run but the task doesn't exit. This blocks any other task from starting till I manually kill the karma:unit task using ctrl+c. My karma.conf.js file is: // Karma configuration // Generated on Thu Mar 06 2014 13:17:21 GMT-0500 (Eastern Standard Time) module.exports = function(config) { config.set({ // base path, that will be used to resolve files and exclude basePath: '', // frameworks to use frameworks: ['mocha', 'requirejs', 'chai', 'sinon'], // list of files / patterns to load in the browser files: [ { pattern: 'src/vendor/**/*.js', included: false }, { pattern: 'src/*.js', included: false }, { pattern: 'src/app/*_test.js', included: false }, { pattern: 'src/app/**/*.js', included: false }, { pattern: 'src/app/*_test.js', included: false }, 'test-main.js' ], // list of files to exclude exclude: [ 'src/app/main.js', '**/Gruntfile.js' ], // test results reporter to use // possible values: 'dots', 'progress', 'junit', 'growl', 'coverage' reporters: ['progress', 'coverage'], preprocessors: { 'src/app/**/!(*_test).js': 'coverage' }, // web server port port: 9876, // enable / disable colors in the output (reporters and logs) colors: true, // level of logging // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG logLevel: config.LOG_INFO, // enable / disable watching file and executing tests whenever any file changes autoWatch: false, // Start these browsers, currently available: // - Chrome // - ChromeCanary // - Firefox // - Opera (has to be installed with `npm install karma-opera-launcher`) // - Safari (only Mac; has to be installed with `npm install karma-safari-launcher`) // - PhantomJS // - IE (only Windows; has to be installed with `npm install karma-ie-launcher`) browsers: ['PhantomJS'], // If browser does not capture in given timeout [ms], kill it captureTimeout: 10000, // Continuous Integration mode // if true, it capture browsers, run tests and exit singleRun: true }); }; My Grunt config for the karma task is: karma: { options: { configFile: 'karma.conf.js' }, unit: { autowatch: true, singleRun: true, } }, When I run grunt karma:unit, I get: Running "karma:unit" (karma) task INFO [karma]: Karma v0.12.0 server started at http://localhost:9876/ INFO [launcher]: Starting browser PhantomJS INFO [PhantomJS 1.9.7 (Windows 7)]: Connected on socket V2NFfUtyUi_gl0gWqbov with id 17494532 PhantomJS 1.9.7 (Windows 7): Executed 2 of 2 SUCCESS (0.012 secs / 0 secs) but it never gets to Done, without errors until I press ctrl+C
Jazzuzz
1

голосов
1

ответ
465

Просмотры

Как проверить угловое приложение с классом наследованием?

Я могу проверить нормальные контроллеры отлично. Я не могу проверить контроллеры, которые наследуют базовый контроллер. Это, как мы были определения подклассов-контроллеры: app.NavController = app.BaseController.extend ({...}); Это основа: app.BaseController = Class.extend ({$ Объем: нулевые, инициализации:. Функция ($ масштаб) {$ это сфера = $ сфера; this.defineListeners (); this.defineScope ();}, defineListeners : функция () {. // это $ сфера $ на ( '$ уничтожить', this.destroy.bind (это)).}, ...}); app.controller ( 'BaseController', [ '$ Объем', функция ($ масштаб) {вернуть новый app.BaseController ($ объем);}]); Тем не менее, работает Карма производит: TypeError: «не определено» не является объектом (оценка «app.BaseController.extend») Есть ли другой способ сделать это? Я' ве удалены IIFE оберток для тестирования. Class.js входит в мой Karmaconfig. Я использую наследование класса Резига в.
FlavorScape
1

голосов
1

ответ
471

Просмотры

Как проверить блок завода с жасмином и Угловым

Я искал в интернете, но не смог найти то, что мне нужно. В основном я завод объявлен следующим образом: angular.module ( '') puFactories завод ( 'RestFactory', функция ($ HTTP, $ д). {{Возвратные GETACCOUNTINFO: GETACCOUNTINFO, getFriendsInfos: getFriendsInfos}} модуль 'puFactories' имеет .. нет зависимости, что я хочу не создать экземпляр этого завода в модульном тесте жасмин я попробовал следующее: описать ( «Unit: RestFactory», функция () {уаг завод; beforeEach (модуль ( «puFactories»)); beforeEach (инъекционные (функция (_RestFactory _) {завод = _RestFactory_;}));} Однако я получаю следующее исключение при выполнении кармы: Ошибка: [$ инжектор: unpr] Неизвестный поставщик: RestFactoryProvider
Georgi-it
1

голосов
1

ответ
794

Просмотры

Problems with testing Angular code using Karma

I would like to test my Angular code. I use Node.js 0.10.28, Grunt, Karma as a test framework and PhantomJS as a browser. I get this error: PALM00545424A:Hello-World user$ grunt karma:unit Running "karma:unit" (karma) task INFO [karma]: Karma v0.12.16 server started at http://localhost:9876/ INFO [launcher]: Starting browser PhantomJS INFO [PhantomJS 1.9.7 (Mac OS X)]: Connected on socket KPTCteUUYsm4XkgYuvGT with id 70458581 PhantomJS 1.9.7 (Mac OS X) ERROR TypeError: 'undefined' is not a function (evaluating 'module.factory') at /Users/user/repos/Hello-World/src/client/api.js:33 Warning: Task "karma:unit" failed. Use --force to continue. Aborted due to warnings. This is my karma.conf.js: module.exports = function(config) { config.set({ // base path that will be used to resolve all patterns (eg. files, exclude) basePath: './', // frameworks to use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter frameworks: ['jasmine'], // list of files / patterns to load in the browser files: [ // Angular 'src/bower/angular/angular.js', 'src/bower/angular-route/angular-route.js', 'src/bower/angular-bootstrap/ui-bootstrap.js', 'src/bower/angular-mocks/angular-mocks.js', // Client source code 'src/client/**/*.js', // Tests 'src/tests/client/**/*.js' ], ... Any idea? Edit: This is the test code. The test runs successfully if the Angular dependencies are not included. src/tests/client/test.js describe('some tests', function() { it('should run', function () { var val = "Hello World"; expect(val).toBeTruthy(); }); }); This is the client code that fails: module.factory("$RPC", ['$http', '$q', function($http, $q) { return { call: function(m, f, d, c) { var res = {value: null, error: null, loaded: false, loading: true}; $http.post("/api/"+m+"/"+f, d) .success(function(value) { res.value = value; res.loaded = true; res.loading = false; console.log("[success]", m, f, d, res); if(typeof c === 'function') { c(null, res); } }) .error(function(value) { res.error = value; res.loaded = true; res.loading = false; console.log("[error]", m, f, d, res); if(typeof c === 'function') { c(res.error, res); } }); return res; } }; }]);
mitchkman
1

голосов
1

ответ
293

Просмотры

Построение основы тестирования с помощью хрюканье

Я строю свой angularjs приложение с помощью grunt.I создали блок тестов для моего приложения с помощью karma.I пытаюсь установки непрерывной интеграции для моего application.Before делает CI в Дженкинс, я пытался построить локально с помощью хрюканье. 1.Копирование всех файлов из папки приложения в дист (обычно делается хрюкать задачу «хрюкать сборки») 2.Запустите модульные тесты на DIST папки. 3.Build Артефакты. Я ищу примеры проектов и не смогли найти ни на строительство тестовых наборов вместе с приложением, используя пехотинца? Любая помощь для ссылок было бы здорово. Должны ли мы запустить тест на DIST папку или на локальной папке приложения при создании приложения с помощью хрюканье ?? Есть ли karma.conf.js файл должен перейти в папку Dist ?? grunt.registerTask ( 'тест', [ 'чистый: сервер', 'одновременно: тест', 'autoprefixer', «соединение: LiveReload», 'карма: непрерывная', 'apimocker', 'транспортир: бег']); ### Структура проекта; MyProject | | --App | | --Bower_components | | --Scripts | | --Dist | | --Bower_components | | --Scripts | | --Node_modules | | --Test | | --Specs | | --Gruntfile.js | | --Karma.conf.js grunt.registerTask ( 'CI', [ 'чистый: расст', 'useminPrepare', 'параллельного: расст', 'autoprefixer', 'CONCAT', 'ngmin', 'копировать: расст' , 'cdnify', 'cssmin', 'Rev', 'usemin', 'тест', 'buildArtifacts']); module.exports = функция (конфигурация) {config.set ({BasePath: ' Истинные},], исключающие: [ 'приложение / скрипты / main.js', 'приложение / скрипты / * min.js', 'приложение / скрипты / ** / * min.js'], препроцессоры: {}, репортеры : [ 'прогресс'], порт: 9876, цвет: правда, LOGLEVEL: config.LOG_INFO, autoWatch: правда, браузеры: [ 'Chrome'], плагины: [ 'карма-хромо-пусковая', «карма-сценария запуска », 'карма-жасмин', 'карма-requirejs'], singleRun: ложь}); }; препроцессоры: {}, репортеры: [ 'Прогресс'], порт: 9876, цвет: истинные, LOGLEVEL: config.LOG_INFO, autoWatch: правда, браузеры: [ 'Chrome'], плагины: [ 'карма-хром-пусковая', 'карма-скрипты запуск', 'карма-жасмин', 'карма-requirejs'], singleRun лжи}); }; препроцессоры: {}, репортеры: [ 'Прогресс'], порт: 9876, цвет: истинные, LOGLEVEL: config.LOG_INFO, autoWatch: правда, браузеры: [ 'Chrome'], плагины: [ 'карма-хром-пусковая', 'карма-скрипты запуск', 'карма-жасмин', 'карма-requirejs'], singleRun лжи}); }; singleRun: ложь}); }; singleRun: ложь}); };
EnugulaS
1

голосов
1

ответ
660

Просмотры

Ошибка инициализации контроллера во время тестирования angularjs с кармой

Я пытаюсь проверить мое приложение с Кармой, но я получаю следующие ошибки: minErr /
philosopher
1

голосов
1

ответ
179

Просмотры

Как я могу перейти к неудачным тестам Кармы в WebStorm?

Я могу запустить мою Карму тесты внутри WebStorm, используя конфигурацию Кармы Run. После испытания запуска, провалившиеся из них приведены в дереве на левой стороне. Я хотел бы ожидать, что я мог нажать / двойной щелчок на имени тест и быть доставлен в исходный код для теста, но этого не происходит. Я довольно уверен, что я видел эту работу в видео раньше. Как я могу включить его? Я посмотрел на документацию здесь, но это не было очень полезно: http://www.jetbrains.com/webstorm/webhelp/test-runner-tab.html
Dave
1

голосов
2

ответ
1.3k

Просмотры

Ошибка при получении AngulaJS + Угловая AMD + RequireJS работать с кармой и Жасмин

Я ма пытаюсь добавить Karma & Jasmine + Требовать на основе Js поддержки модульного тестирования в течение AngularJS + Угловые приложения AMD и RequireJS, что я создал. Я вредительство моего мозга вокруг этого в течение двух дней в настоящее время, но я до сих пор нигде близко к герметизации сделки. Я получаю сообщение об ошибке: INFO [карма] Карма: v0.12.21 сервер начал по адресу: // локальный: 9876 / INFO [гранатомет]: Запуск браузера Chrome INFO [Chrome 36.0.1985 (Mac OS X 10.9.4)]: Connected на сокет 8oFHaa2hqJPs0ecgIXCa с идентификатором 31963369 Chrome 36.0.1985 (Mac OS X 10.9.4) ОШИБКА: "Там нет метки времени для ../www/scripts/specs/UserControllerTest.js! WARN [веб-сервер]: 404: /www/scripts/specs/UserControllerTest.js Chrome 36.0.1985 (Mac OS X 10.9.4) ОШИБКА Uncaught Ошибка: Ошибка сценария для: спецификации / UserControllerTest http://requirejs.org/ Docs / ошибки. // Результаты испытаний репортер использовать // Возможные значения: «точек», «прогресс» // доступные журналистам: https://npmjs.org/browse/keyword/karma-reporter репортеры: [ «Прогресс»], // веб порт сервера порт: 9876, // включить / отключить цвета в выводе (репортеры и журналы) цвета: верно, // уровень лесозаготовок // возможные значения: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG LOGLEVEL: config.LOG_INFO, // включить / отключить смотреть файл и выполнение тестов, когда любой файл изменяет autoWatch: истина, // запуска этих браузеры // доступных пусковые установки браузера: https://npmjs.org/browse/keyword/ карма-пусковая браузеры: [ «Chrome»], // Непрерывный режим интеграции // если это правда, карма захватывает браузеры, запускает тесты и выход singleRun: ложный}); }; Мой тест-main.js файл. вар allTestFiles = []; вар TEST_REGEXP = /(spec|test)\.js$/i; вар pathToModule = функция (путь) {возвращение path.replace (/ ^ \ / база \ //, '') .Надеть (/ \ JS $ /,. ''); }; Object.keys (. .__ окна карма __ файлы) .forEach (функция (файл) {если (TEST_REGEXP.test (файл)) {// Нормализация пути к именам RequireJS модуля allTestFiles.push (pathToModule (файл));.}}) ; require.config ({// Карма служит файлы в / базы, которая является BasePath из конфигурационного файла BaseUrl: «../www/scripts', // псевдоним библиотеки пути по пути: {„угловые“:» ../libs / угловой ' 'угловой маршрут':' ../libs/angular-route ' 'угловой одушевленный':' ../ LIBS / угловой одушевленные ' 'угловой издевается':' ../ ЛИЭС / угловые-Mocks', // мы должны зарезки жасмина, как это асинхронный обратный вызов: окно .__ карма __ начать});. И мой блок Тест: описать ( «UserController», функция () {уаг сферы, контроллер // издеваться Application, чтобы позволить нам внедрить наши собственные зависимости beforeEach (angular.mock.module ( «приложение»)); // издеваться контроллер по той же причине, и включают в себя $ rootScope и $ контроллера beforeEach (angular.mock.inject (функция ($ rootScope, $ контроллера) {// создать пустой области видимости объем = $ rootScope $ новый (); //. объявить контроллер и ввести наш пустую область действия $ контроллера ( 'UserController', {$ сферы: сфера});})); его ( 'проверяет имя контроллера', функция () {ожидать (scope.name) .toBe ( 'Superhero' );});}); Я загрузил весь мой код моего проекта здесь ссылку. Любой, кто может мне помочь с этим высоко ценится. Я думаю, что в час в конце моего троса с этим.
msrameshp
1

голосов
2

ответ
996

Просмотры

AngularJS, RequireJS и Karma вопрос

Извиняюсь заранее за длинный пост. Я застрял с этим в течение последних нескольких дней. В принципе, у меня есть AngularJS проект с установкой RequireJS, который работает отлично. Я пытаюсь написать модульные тесты с помощью углового, Требовать, Karma (жасмин) комбо. Утра ошибки получает: Ошибка: [нг: areq] Аргумент «п» не функция, есть объект http://errors.angularjs.org/1.2.9/ng/areq?p0=fn&p1=not%20a% 20function% 2C% 20got% 20Object на D: /workspace/ecart-oauth/src/main/webapp/app/lib/angular/angular.js: 78: 12 в assertArg (D: / рабочее пространство / Ecart-OAuth / SRC / Основной / веб-приложение / приложение / Библиотека / угловой / angular.js: 1363: 11) при assertArgFn (D: /workspace/ecart-oauth/src/main/webapp/app/lib/angular/angular.js: 1373: 3) при аннотирования (D: /workspace/ecart-oauth/src/main/webapp/app/lib/angular/angular.js: 3019: 5) при Invoke (D: /workspace/ecart-oauth/src/main/webapp/app/lib/angular/angular.js:3687:21) при Object.instantiate (D: / рабочее пространство / Ecart-OAuth / SRC / Основной / веб-приложение / приложение / Библиотека /angular/angular.js:3721:23) в D: /workspace/ecart-oauth/src/main/webapp/app/lib/angular/angular.js: 6772: 28 в нуль. (D: /workspace/ecart-oauth/src/main/webapp/test/spec/TestAppSetupSpec.js: 11: 24) в Object.invoke (D: / рабочее пространство / Ecart-OAuth / SRC / Основной / веб-приложение / приложение / Библиотека / угловой / angular.js: 3710: 17) при workFn (D: /workspace/ecart-oauth/src/main/webapp/app/lib/angular/angular-mocks.js: 2149: 20) Ошибка: Декларация Расположение на window.inject.angular.mock.inject (Д: /workspace/ecart-oauth/src/main/webapp/app/lib/angular/angular-mocks.js: 2134:. 2 в нуль (D: / рабочее пространство / Ecart-OAuth / SRC / основные / WebApp / тест / спецификации / TestAppSetupSpec.js: 9: 20) на D: /workspace/ecart-oauth/src/main/webapp/test/spec/TestAppSetupSpec.js: 4: 5. ... Это структура папок: ROOT | _app | | _Js | | | _Controllers | | | _SimpleController.js | | _app.js, main.js | | _Test | | _Spec | | _MockApp.js | | _TestAppSetupSpec.js | | __Karma.conf.js | _ тест-main.js Вот соответствующие разделы файлов: SimpleController.js: определить ([ "приложение"], функция (приложение) {возвращение angular.module ( "simpleApp") контроллер. ( "SimpleController", [ "$ сфера", функция ($ масштаб) {$ scope.msg = "Привет";}]);}); karma.conf.js .... // список файлов / шаблонов для загрузки файлов браузера: [{шаблон: "приложение / Библиотека / ** / * JS., включены: ложь}, {шаблон:«приложение /js/controllers/*.js', включены: ложь}, {шаблон: 'приложение / JS / ** / * JS', включены: ложь}, {шаблон: 'приложение / JS / услуги / * JS' , включают: ложь}, {шаблон: 'тест / спецификации / * Spec.js', включали: ложь}, {шаблон: 'тест / спецификации / mockApp.js', включали: ложь}, 'тест-main.js',], // список файлов для исключения исключить: [ 'приложение / JS / main.js', 'приложение / JS / app.js'], .... тест-main.js вар тесты = []; для (файла вара в окне .__ кармы __ файлы.) {если (окно .__ карма __ files.hasOwnProperty (файл).) {если (/Spec\.js$/.test(file)) {tests.push (файл); }}} Require.config ({// Карма служит файлы в / базы, которая является BasePath из конфигурационного файла BaseUrl: '/ BASE / приложение / JS', пути: { "Угловая":»../lib/angular / угловой " "угловато-ресурс":" ../lib/angular/angular-resource " "угловой маршрут":" ../lib/angular/angular-route " "угловое хранение":". , }}, // динамически загружать все тестовые файлы DEPS: тесты, // мы должны зарезки жасмина, как это асинхронный обратный вызов: окно .__ карма __ начать});. mockApp.js: определяют ([ "угловые"], функция () {вар приложение = angular.module ( 'simpleApp', []); возвращение приложение;}); TestAppSetupSpec.js: определяют ([ 'углового', 'угловые-Mocks', 'SimpleController'], функция (угловые, angularMocks, SimpleController) {описывают ( 'тесты модуля App', функция () {модуль вар, $ rootScope, объем , AppCtrl; beforeEach (angular.module ( "simpleApp")); beforeEach (инъекционные (функция ($ rootScope, $ контроллера) {Объем = $ $ rootScope новый ();. = $ AppCtrl контроллер ( "SimpleController", { «$ сфера ': сфера});})); его (» /workspace/ecart-oauth/src/main/webapp/app/lib/angular/angular.js:1363:11) при assertArgFn (D: / рабочее пространство / Ecart-OAuth / SRC / основная / веб-приложение / приложение / Библиотека / угловые /angular.js:1373:3) при д: /workspace/ecart-oauth/src/main/webapp/app/lib/angular/angular.js: 6769: 9 в нуль. (D: /workspace/ecart-oauth/src/main/webapp/test/spec/TestAppSetupSpec.js: 12: 26) в Object.invoke (D: / рабочее пространство / Ecart-OAuth / SRC / Основной / веб-приложение / приложение / Библиотека / угловой / angular.js: 3710: 17) при workFn (D: /workspace/ecart-oauth/src/main/webapp/app/lib/angular/angular-mocks.js: 2149: 20) Ошибка: Декларация Расположение на window.inject.angular.mock.inject (д: /workspace/ecart-oauth/src/main/webapp/app/lib/angular/angular-mocks.js: 2134: 2 5) в нуль. (d: /workspace/ecart-oauth/src/main/webapp/test/spec/TestAppSetupSpec.js: 9: 20) на D: /workspace/ecart-oauth/src/main/webapp/test/spec/TestAppSetupSpec.js:4:5 Что мне не хватает? Буду признателен за любую оказанную помощь.
trishulpani
1

голосов
1

ответ
235

Просмотры

AngularJS - тестирование фабрики, которые хранят состояние / данные

Я работаю над новой версией приложения с использованием устаревшего API (у меня нет CONTROLL, что в API возвращается и т.д ..). На приложение инициализации я прошу и хранить некоторые общесистемный информацию на заводе, который я назвал stateFactory. Внутри stateFactory есть категории собственности (массив объектов), который хранит идентификатор -> категория имя отношение. Внутри моего шаблона приложения я использую фильтр для извлечения названия категории по ID {{cat_id | categoryNameByIdFilter}}, которая делает поиск в stateFactory.categories и возвращает название категории. Как написать модульный тест для такой функциональности (жасмина, мокко, Chai, что угодно)? // represantion того, что stateFactory выглядит как некоторые данные в нем app.factory функции ( 'stateFactory', [ '', () {возвращение {категории = [{cat_id: 1, cat_name: " cat_id}); если (cat_obj!) возвратного нуль; вернуться cat_obj.cat_name; }; }]); cat_id}); если (cat_obj!) возвратного нуль; вернуться cat_obj.cat_name; }; }]);
Iladarsda

Просмотр дополнительных вопросов