我正在開發一個新項目,並將使用CLI生成應用程序和所有文件,但是我遇到了一些似乎對我和我都很不好的東西希望有一個更好的方法來做到這一點。Angular 2 CLI如何在所有規格中輕鬆包含RouterTestingModule
我的應用程序有路由,所以在我的測試中,我需要導入RouterTestingModule
爲路由器提供模擬。但是,由於我們創建的每個規範都需要這個,所以如果在創建新組件時默認包含它,那將會非常好。我研究了對自定義藍圖的支持,但目前還沒有任何支持,這是一個無賴,因爲如果我可以將該模塊添加到藍圖中,這將非常簡單。
有什麼其他選項可以默認包含在所有規格中,而不需要每個開發人員在創建新組件時都記得添加它?
describe('LoginComponent',() => {
let component: LoginComponent;
let fixture: ComponentFixture<LoginComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ LoginComponent ],
imports: [
RouterTestingModule, // I don't want to have to manually add this in every spec file.
SharedModule
]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(LoginComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create',() => {
expect(component).toBeTruthy();
});
});
模塊上你所有的可重複使用的進口創建和它包括在這裏。 –
我這樣做了,我在'SharedModule'內包含'RouterModule'的實際導入,你會看到我在導入規範。問題是在測試中我需要導入'RouterTestingModule'而不是'RouterModule'來讓測試運行。 – efarley
好吧,它似乎不會傷害任何東西,包括'RouterTestingModule'到應用程序,而不是隻包括它在規格。 – efarley