Inheritance 使用浏览器phantomJS的单元测试karma';不支持导入继承

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

我在使用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启动配置/karma.conf.js
  • 错误

    PhantomJS 2.1.1(Windows 8 0.0.0) 错误类型错误:未定义:无法设置为原型

    根本原因:
    经过几天的调查,我发现当单元测试通过
    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",