结构就像这样......它应该成为一个npm模块...
.
./angular.json
./karma.conf.js
./package.json
./tsconfig.json
./demo
./demo/index.html
./demo/main.ts
./demo/test.ts
./demo/tsconfig.app.json
./demo/tsconfig.spec.json
./demo/app
./demo/app.component.html
./demo/app.component.ts
./demo/app.component.spec.ts
./demo/app.module.ts
然后是lib代码
./lib/index.ts
./lib/src/libname.module.ts
./lib/src/libname/libname.component.html
./lib/src/libname/libname.component.ts
该组件适用于ng serve
。
如果我使用ng test
运行测试,我会看到directivename is not a known element
的模板解析错误。
我尝试将lib文件添加到tsconfig.spec.json中的files数组中 没有成功。
唯一工作是,我在app.component.spec.ts中导入 lib中的所有组件和我的lib 使用的所有组件并添加他们到TestBed声明。
但是,我不得不像这样自己添加所有组件进行测试。
我必须错过一些东西。你知道吗?
答案 0 :(得分:0)
我找到了它; - )
而不是
// refine the test module by declaring the test component
TestBed.configureTestingModule({
declarations: [NavBarComponent, NavBarChildComponent],
providers: [
{provide: Location, useValue: location}
]
});
我使用
// refine the test module by declaring the test component
TestBed.configureTestingModule({
declarations: [],
imports: [NavBarModule],
providers: [
{provide: Location, useValue: location}
]
});