我有一个 NativeScript 代码共享项目。我希望对使用ng test
. .tns
由于在构建测试时错误地导入了服务版本,这会失败。
以下是在最小的 NativeScript 代码共享项目中重新创建问题的步骤。
创建一个新的 NativeScript 代码共享项目
$ ng new -c=@nativescript/schematics ns-shared-test --shared
进入项目文件夹
$ cd ns-shared-test
生成新服务
$ ng generate service services/my-service
生成一个新组件
$ ng generate component my-component
修改
my-component.component.ts
为使用 my-service在文件顶部添加:
import { MyServiceService } from '@src/app/services/my-service.service';
并替换构造函数:
constructor( private myService:MyServiceService ) { }
运行单元测试
$ ng test
- 观察测试通过
拆分我的服务
$ cp src/app/services/my-service.service.ts src/app/services/my-service.service.tns.ts
修改
my-service.service.tns.ts
为使用 NativeScript 特定的东西在文件顶部添加:
import { Color } from 'tns-core-modules/color/color';
并替换构造函数:
constructor() { new Color('white'); }
运行单元测试
$ ng test
- 观察加载 NativeScript 模块时测试失败