В Карме не умеют читать статические JSONВыдает ошибку 404 при запуске теста ng в Angular6 - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь запустить тестовый пример компонента, который в свою очередь вызывает метод класса обслуживания, который загружает статический / локальный json, который находится в папке активов.

karma.conf.js

// Karma configuration file, see link for more information

// https://karma -runner.github.io / 1.0 / config / configuration-file.html

const process = require ('process');process.env.CHROME_BIN = require ('puppeteer'). executetablePath ();

module.exports = function (config) {config.set ({basePath: '', рамки: ['jasmine', '@ angular-devkit / build-angular '], плагины: [require (' karma-jasmine '), require (' karma-chrome-launcher '), require (' karma-jasmine-html-reporter '), require ('karma-cover-istanbul-reporter '), require (' @ angular-devkit / build-angular / plugins / karma ')], файлы: [{pattern:' ./jquery.min.js ', watched: false} //, {pattern: './assets/*.json', включенный: false, обслуживаемый: true, просмотренный: true}, {pattern: './app/**/*.spec.ts', включенный: false,serve: true, watched: false}], клиент: {captureConsole: true, // подавить оператор журнала консоли clearContext: false // оставить выходной файл Jasmine Spec Runner видимым в браузере}, coverIstanbulReporter: {dir: './reports/coverage', // базовый выходной каталог 'report-config': {html: {}, lcovonly: {file: 'cover.lcov'}}, отчеты: ['html', 'lcovonly', 'text-summary'], fixWebpackSourcePaths: правда }, angularCli: {environment: 'dev', codeCoverage: true}, репортеры: ['progress', 'kjhtml'], порт: 9876, captureTimeout: 210000, browserDisconnectTolerance: 3, browserDisconnectTimeout: 210000, browserNoActivityTimeout: 210000, цвета: true, logLevel: config.LOG_INFO, autoWatch: true, браузеры: ['Chrome'], флаги: ['--disable-web-security', '--disable-gpu', '--no-sandbox'], singleRun: правда });};

package.json

{

"name": "cnaworkbench-app", "version": "0.0.0", "scripts": {"ng": "ng "," start ":" ng serve "," build ":" ng build "," test ":" ng test - истинное покрытие кода --source-map "," lint ":" tslint --projecttsconfig.json -c tslint.json 'src / ** / *. ts' "," sonar ":" gulp sonar "," sonar-scanner ":" node_modules \ sonar-scanner \ bin \ sonar-scanner ","e2e ":" ng e2e "}," private ": true," dependencies ": {" @ angular / animations ":" ~ 8.0.1 "," @ angular / cdk ":" ^ 7.3.4 "," @angular / common ":" ~ 8.0.1 "," @ angular / compiler ":" ~ 8.0.1 "," @ angular / core ":" ~ 8.0.1 "," @ angular / flex-layout ":"2.0.0-beta.10 "," @ angular / forms ":" ~ 8.0.1 "," @ angular / http ":" ^ 6.1.10 "," @ angular / material ":" ^ 6.4.7 ", "@ angular / platform-browser": "~ 8.0.1", "@ angular / platform-browser-dynamic": "~ 8.0.1", "@ angular / router": "~ 8.0.1", "@ ng-bootstrap / ng-bootstrap ":" ^ 4.2.1 "," @ nguniversal / express-engine ":" ^ 7.1.1 "," @ types / jquery ":" ^ 3.3.29 "," angular-панель расширения материала ":" ^ 0.7.2 "," angular-ui-carousel ":" ^ 0.1.10 "," angular4-carousel ":" ^ 3.1.8 "," bootstrap ":" ^ 4.3.1 "," chart.js ":" ^ 2.8.0 "," core-js ":" ^ 2.6.9 "," gulp ":" ^ 3.9.1 "," jquery ":" ^ 3.4.1 "," json-server ":" ^ 0.14.2 "," jsonpath ":" ^ 1.0.2 ","ng-simple-slideshow": "^ 1.2.8", "ng2-carouselamos": "^ 3.2.0", "ng2-page-slider": "^ 0.10.1", "ngx-cookie": "^ 4.1.2 "," ngx-perfect-scrollbar ":" ^ 4.9.6 "," ngx-scrollbar ":" ^ 3.3.4 "," rxjs ":" ~ 6.4.0 "," rxjs-compat ": "~ 6.4.0", "vm": "^ 0.1.0", "tslib": "^ 1.9.0", "zone.js": "~ 0.9.1"}, "browser": {"fs ": false," os ": false," path ": false}," devDependencies ": {" @ angular-devkit / build-angular ":" ~ 0.800.0 "," @ angular / cli ":" ~8.0.3 "," @ angular / compiler-cli ":" ~ 8.0.1 "," @ angular / language-service ":" ~ 8.0.1 "," @ types / jasmine ":" ~ 2.5.53 ","@ types / jasminewd2": "~ 2.0.2", "@ types / node": "^ 8.10.49", "ajv": "^ 6.10.0", "codelyzer": "^ 5.0.0", "жасминовое ядро": "~ 2.6.2", "jasmine-spec-reporter": "~ 4.1.0", "карма": "~ 1.7.0", "karma-chrome-launcher": "~ 2.1.1", "карма-кли": "~ 1.0.1", "Карма-освещение-Стамбул-репортер": "^ 1.2.1", "карма-жасмин": "~ 1.1.0", "karma-jasmine-html-reporter": "^ 0.2.2", "карма-жасмин-jsonpath": "^ 1.0.0", "транспортир": "~ 5.4.0", "кукловод": "^ 1.17.0", "сонар-сканер": "^ 3.1.0", "sonarqube-scanner": "^ 2.4.1", "ts-node": "~ 7.0.0", "tslint": "~ 5.15.0", "Цлинт-Сонартс": "^ 1.9.0", "машинопись": "~ 3.4.3" } }

в служебном файле TS

 getAdminDetails() {
    return this.http.get<any>('assets/admin.json')
        .map(response => {
            return response;
        });
}

выборка данных в файл компонента ts. В component.spec.ts Метод All перед вводом класса обслуживания

injectService = fixture.debugElement.injector.get (Service);

spyOn (injectService, 'getAdminDetails') and.callThrough ();.

при запуске ng test - выдает ошибку 404: assets / admin.json не найден

Пожалуйста, помогите мне решить эту проблему

Thans

...