mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-23 15:36:23 +08:00
The `nativeElement` property on a `TestBed` fixture is of type `any`. In one of the tests within a new application's spec file, the `nativeElement` is accessed but not cast to an appropriate type which results in potentially unsafe member access. The `nativeElement` is now cast as an `HTMLElement` and allows additional usage to be type checked.
36 lines
1.1 KiB
Plaintext
36 lines
1.1 KiB
Plaintext
import { TestBed } from '@angular/core/testing';<% if (routing) { %>
|
|
import { RouterTestingModule } from '@angular/router/testing';<% } %>
|
|
import { AppComponent } from './app.component';
|
|
|
|
describe('AppComponent', () => {
|
|
beforeEach(async () => {
|
|
await TestBed.configureTestingModule({<% if (routing) { %>
|
|
imports: [
|
|
RouterTestingModule
|
|
],<% } %>
|
|
declarations: [
|
|
AppComponent
|
|
],
|
|
}).compileComponents();
|
|
});
|
|
|
|
it('should create the app', () => {
|
|
const fixture = TestBed.createComponent(AppComponent);
|
|
const app = fixture.componentInstance;
|
|
expect(app).toBeTruthy();
|
|
});
|
|
|
|
it(`should have as title '<%= name %>'`, () => {
|
|
const fixture = TestBed.createComponent(AppComponent);
|
|
const app = fixture.componentInstance;
|
|
expect(app.title).toEqual('<%= name %>');
|
|
});
|
|
|
|
it('should render title', () => {
|
|
const fixture = TestBed.createComponent(AppComponent);
|
|
fixture.detectChanges();
|
|
const compiled = fixture.nativeElement as HTMLElement;
|
|
expect(compiled.querySelector('.content span')?.textContent).toContain('<%= name %> app is running!');
|
|
});
|
|
});
|