Environment.ts не работает при тестировании Angular 2

Пытаюсь написать простой тест в Angular 2, но получаю ошибку для environment.ts, как показано ниже.

ERROR in ./web/environments/environment.ts Module build failed: Error: web\environments\environment.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.

app.component.ts

import { Component} from '@angular/core';
import { environment } from '../environments/environment';

@Component({
  selector: 'web-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
  title = 'Test App'; 

  constructor() {
    console.info(environment);
  }  
}

app.component.spec.ts

import { AppComponent } from './app.component';

describe('AppComponent', () => {
  it(`should 1+1`, () => {
    expect(1 + 1).toEqual(2);  //Success
  });
  it('should have component ', () => {
    const component = new AppComponent();  //Throws error
    // expect(component).toBeTruthy();
  });
});

Любое предложение ?

это потому, что ng serve и ng test используют разные tsconfig.json. Можете ли вы опубликовать свой tsconfig.spec.json?

Poul Kruijt 12.09.2018 14:54

У меня просто tsconfig.json, а не tsconfig.spec.json. Я создал проект с использованием Angular CLI.

Dipak Telangre 12.09.2018 14:57

посмотрите в папку src

Poul Kruijt 12.09.2018 15:24
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
3
470
1

Ответы 1

создайте свой **.spec.ts следующим образом:

import { TestBed, async } from '@angular/core/testing';
import { AppComponent } from './app.component';
import { AppModule } from './app/app.module';
import { APP_BASE_HREF } from '@angular/common';

describe('App', () => {
    beforeEach(() => {
        jasmine.DEFAULT_TIMEOUT_INTERVAL = 60000;
        TestBed.configureTestingModule({
            declarations: [
                AppComponent
            ],
            imports: [
                AppModule
            ],
            providers: [
                { provide: APP_BASE_HREF, useValue: '/' }
            ]
        });
    });

    it('should have component', async(() => {
        let fixture = TestBed.createComponent(AppComponent);
        let app = fixture.debugElement.componentInstance;
        expect(app).toBeTruthy();
    }));
});

Получение Error: Illegal state: Could not load the summary for directive AppComponent.

Dipak Telangre 12.09.2018 15:00

Внося изменения в ответ, надеюсь, это поможет вам

Shashikant Devani 12.09.2018 15:09

Другие вопросы по теме