Карма Жасмин Angular Конфигурация ng-bootstrap

Получение сообщения

Если ngb-xx является компонентом Angular, убедитесь, что он является частью этого модуля.

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

Процесс установки

npm install angular-cli
ng new project 
CD project
npm install 
npm install  --save bootstrap 
npm install --save @ng-bootstrap/ng-bootstrap

В app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http' ;

import { NgbModule } from '@ng-bootstrap/ng-bootstrap' ;

import { AppComponent } from './app.component';
import { NgForm } from '@angular/forms/src/directives/ng_form';


@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    NgbModule.forRoot()
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

похоже, что все работает с ng-bootstrap и angular

но карма и жасмин продолжают выдавать ошибки вроде

Ошибка: ошибки синтаксического анализа шаблона: ngb-tab не является известным элементом:

  1. Если ngb-tab является компонентом Angular, убедитесь, что он является частью этого модуля.

  2. Если «ngb-tab» является веб-компонентом, добавьте «CUSTOM_ELEMENTS_SCHEMA» в «@ NgModule.schemas» этого компонента, чтобы подавить это сообщение.

("

ngalert

Ошибка: ошибки синтаксического анализа шаблона: невозможно выполнить привязку к «отклонить», так как это неизвестное свойство «ngb-alert».

  1. Если 'ngb-alert' является компонентом Angular и у него есть вход «запрещенный», убедитесь, что он является частью этого модуля.

  2. Если «ngb-alert» является веб-компонентом, добавьте «CUSTOM_ELEMENTS_SCHEMA» в «@ NgModule.schemas» этого компонента, чтобы подавить это сообщение.

  3. Чтобы разрешить любое свойство, добавьте «NO_ERRORS_SCHEMA» в «@ NgModule.schemas» этого компонента.

Похоже, мне что-то не хватает в конфигурации кармы и / или жасмина

Пожалуйста, помогите // Файл конфигурации Karma, дополнительную информацию см. По ссылке // https://karma-runner.github.io/1.0/config/configuration-file.html

karma.conf.js

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular/cli'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage-istanbul-reporter'),
      require('@angular/cli/plugins/karma')
    ],
    client:{
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    coverageIstanbulReporter: {
      reports: [ 'html', 'lcovonly' ],
      fixWebpackSourcePaths: true
    },
    angularCli: {
      environment: 'dev'
    },
    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false
  });
};

person Pascal    schedule 30.01.2018    source источник
comment
вам нужно добавить ngalert и ngb-tab в объявления ngmodule   -  person mast3rd3mon    schedule 30.01.2018
comment
где твой кармический код?   -  person Aravind    schedule 30.01.2018
comment
Код @Aravind карма добавлен спасибо   -  person Pascal    schedule 30.01.2018
comment
@Pascal вы добавили конфигурацию кармы, а не код кармы   -  person Aravind    schedule 30.01.2018
comment
@Aravind извините за то, что я нуб, где мне искать код кармы, вы ищете tsconfig.spec.json   -  person Pascal    schedule 30.01.2018
comment
вы получаете ошибку в тестовых примерах или в коде?   -  person Aravind    schedule 30.01.2018
comment
Код @Aravind отлично работает на ng serve, но не на ng test, я думаю, мне есть что добавить в конфигурацию karma / jasmine, но не знаю, что   -  person Pascal    schedule 30.01.2018
comment
Позвольте нам продолжить это обсуждение в чате.   -  person Pascal    schedule 30.01.2018
comment
Нет. Вам нужно исправить свой тестовый код. Но вы его не разместили, так что ...   -  person JB Nizet    schedule 30.01.2018


Ответы (1)


В вашем тесте отсутствует импорт NgbModule, чтобы исправить это, вам следует

  • импорт модуля

    import { NgbModule } from '@ng-bootstrap/ng-bootstrap' ;
    
  • добавление его в импорт TestBed

    TestBed.configureTestingModule({
        imports: [NgbModule, ...],
        declarations: [...],
        providers: [...]
    });
    
person Aravind    schedule 30.01.2018
comment
включить css как в? - person Aravind; 30.01.2018
comment
css для страницы с жасмином выглядит так, как будто css отсутствует - person Pascal; 30.01.2018