Jasmine を使用して Angular 2 コンポーネントの単体テストを作成しています。コンポーネントがインスタンス化されたときに、ドキュメントのタイトルが特定の値に設定されているかどうかをテストしたいと考えています。
これが私のコンポーネントです
import { Component } from '@angular/core';
import { Title } from '@angular/platform-browser';
@Component({
selector: 'cx-account',
templateUrl: 'app/account/account.component.html',
})
export class AccountComponent {
public constructor(private titleService: Title ) {
titleService.setTitle("Account");
}
}
ここに私がテスト用に書いたものがありますが、機能していません。titleService.getTitle()
Karma デバッグ ランナー ページのタイトルを教えてくれます。
import { TestBed } from '@angular/core/testing';
import { Title, By } from '@angular/platform-browser';
import { AccountComponent } from './account.component';
describe('AppComponent Tests', function () {
let titleService: Title = new Title();
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [AccountComponent],
providers: [ {provide: Title } ],
});
let fixture = TestBed.createComponent(AccountComponent);
});
it('Title Should be Account', () => {
expect(titleService.getTitle()).toBe('Account');
});
});
カルマ出力は次のとおりです。
エラー: 'Karma DEBUG RUNNER' は 'Account' である必要があります。