我有一个使用动画库Mojs的组件。由于MoJs元素,spec.ts文件开箱即用的创建组件测试失败。我不确定如何在spec.ts文件中提供此库,以便至少对该组件的此测试成功创建通过。
我遇到的错误是:'无法读取未定义的属性'CustomShape''
此CustomShape的实现如下:
class paperOutlineTopCorner3 extends mojs.CustomShape {
getShape () { return '<path d="123XYZ"/>'; }
}
我当前的spec.ts文件:
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { CallbackComponent } from './callback.component';
import { requiredTestModules } from '../testing/import.helpers';
describe('CallbackComponent', () => {
let component: CallbackComponent;
let fixture: ComponentFixture<CallbackComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ CallbackComponent ],
imports: [requiredTestModules]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(CallbackComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
任何帮助/建议将不胜感激
答案 0 :(得分:2)
首先,您必须定义mojs对象。 希望有一个库可以安装到node_modules文件夹中? 在node_modules文件夹中拥有mojs定义后,可以将其导入文件,只要在该导入中定义了mojs.CustomShape,您就应该会很好。
您也许可以做类似的事情
npm install mojs
然后将其导入,您可以尝试以下几种不同的方法:
我会要求:
const mojs = require('mojs');
或导入:
import * as mojs from 'mojs';
如果已经“键入”了mojs库,则更加容易。
您还能正确构建吗?但仅在测试时得到错误?通常表明,您需要将.module文件中的某些内容复制到.spec文件中。
希望有帮助