Inheritance 使用浏览器phantomJS的单元测试karma';不支持导入继承
我在使用phantomjs进行单元测试时遇到了这个问题。我认为浏览器phantomjs不支持导入继承。以下是问题详情: 环境:Inheritance 使用浏览器phantomJS的单元测试karma';不支持导入继承,inheritance,phantomjs,karma-jasmine,Inheritance,Phantomjs,Karma Jasmine,我在使用phantomjs进行单元测试时遇到了这个问题。我认为浏览器phantomjs不支持导入继承。以下是问题详情: 环境: 业力1.5.0 phantomjs:2.1.1(用作浏览器) 我有这些模型课: base.model.ts customer.model.ts home.model.ts home.service.ts 重现行为的步骤 为HomeService的函数get()编写单元测试 (home.service.ts) 运行单元测试:npm运行测试将执行karma启动配置/ka
- 业力1.5.0
- phantomjs:2.1.1(用作浏览器)
npm运行测试
将执行karma启动配置/karma.conf.js
经过几天的调查,我发现当单元测试通过
newhomemodel()
时,问题就发生了。然后它与BaseModel
和extends
相关,我认为当我们newhomemodel()
时,它首先初始化BaseModel
(导入将从上到下运行),然后初始化CustomerModel
。在CustomerModel
中,它仍然有导入BaseModel
到extends
,面临与“typescript”相同的问题:“2.4.0”
:
更新了以下依赖项,并获得了帮助:
"@types/core-js": "0.9.42",
"html-loader": "^0.5.1",
"jasmine": "^2.7.0",
"jasmine-core": "^2.7.0",
"karma": "^1.7.0",
"karma-webpack": "^2.0.4",
import { BaseModel } from './base.model';
export class CustomerModel extends BaseModel {
address?: string;
// more properties defined
}
import { BaseModel } from './base.model';
import { CustomerModel } from './customer.model';
export class HomeModel extends BaseModel {
param1: CustomerModel;
constructor(data?: any) { // write some logic in here }
}
import { Injectable } from '@angular/core';
import { Home } from './home.model';
@Injectable()
export class HomeService {
constructor(){ }
get() {
let home = new HomeModel();
}
}
"@types/core-js": "0.9.42",
"html-loader": "^0.5.1",
"jasmine": "^2.7.0",
"jasmine-core": "^2.7.0",
"karma": "^1.7.0",
"karma-webpack": "^2.0.4",