私はAngular 2/AngularCLIアプリケーションで単体テストを設定しようとしています。アプリケーションが期待どおりに動作している間は、テストに失敗が示されます。コンポーネントユニットテストは、私のアングル2アプリケーションのコンポーネントだけをテストしていませんか?
したがって、私は思っていたので、コマンドラインから生成したテストコンポーネントをセットアップしました(ng g c testr)。これにより、コンポーネントファイルとともに基本コンポーネントテストが作成されます。私がこのコンポーネントにCDを入れ、 "ng test"でこの組み込みテストを実行すると、アプリケーションの他のコンポーネントに関連するエラーが発生します。個々のコンポーネントテストは単体テストだと思ったので、これは私にとっては混乱しています。そのため、特定のコンポーネントをテストするためにのみ設計されています。私は、これは「箱から出して、」作業する必要があると仮定し
/* tslint:disable:no-unused-variable */
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { DebugElement } from '@angular/core';
import { TestrComponent } from './testr.component';
describe('TestrComponent',() => {
let component: TestrComponent;
let fixture: ComponentFixture<TestrComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ TestrComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(TestrComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create',() => {
expect(component).toBeTruthy();
});
});
- それはAngularCLIによって自動的にセットアップされたので、これはコンポーネントのサンプルテストです。だからなぜ失敗?私はここに何かを逃していますかここのテストコードは、内部コンポーネントをテストするように設計されているのではなく、アプリ内の他のコンポーネントとの関係はテストされていますか?
ここに私が得ているエラーの例があります。明らかに、それは完全に別のコンポーネントのためです。そして、私はこの1つのテストを実行するだけで、さまざまなコンポーネントのためのこのような多くのエラーが発生しています。
ERROR in ./src/app/app.component.ts
Module not found: Error: Can't resolve 'app/app.component.html' in '/Users/mko/Documents/abc-cli/abc-cli/cli-abc/src/app'
@ ./src/app/app.component.ts 77:22-55
@ ./src/app/app.component.spec.ts
@ ./src \.spec\.ts
@ ./src/test.ts
は、ここで別のコンポーネントに再び関係する別のエラーです:
ERROR in ./src/app/views/client/client-panel.component.ts
Module not found: Error: Can't resolve 'app/views/client/client-panel.component.html' in '/Users/mko/Documents/abc-cli/abc-cli/cli-abc/src/app/views/client'
@ ./src/app/views/client/client-panel.component.ts 34:22-88
@ ./src/app/views/client/client-panel.component.spec.ts
@ ./src \.spec\.ts
@ ./src/test.ts
コンポーネントと実行「NGテスト」への私のCDは、またはそのコンポーネントのちょうどユニットテストを実行していないないことをした場合?そして、もしそうでなければ、私はこれを単に個々のコンポーネントテストを実行するために変更する必要がありますが、それらのすべてではありませんか?
はい、これを上に追加しました。他のコンポーネントのエラーメッセージが表示されますこれだけでなく、理由は分かりません。 – Muirik
申し訳ありませんが、明確にしてください。コンポーネントにcdして "ng test"を実行すると、そのコンポーネントの単体テストだけが実行されますか?そして、もしそうでなければ、私はこれを単に個々のコンポーネントテストを実行するために変更する必要がありますが、それらのすべてではありませんか? – Muirik