支持Object.assign in karma / protractor test

时间:2017-03-04 10:43:41

标签: angular protractor angular2-cli

我安装了最新的angular-cli,应用程序在浏览器中运行,但是当我运行DECLARE @month AS INT = 12 DECLARE @Year AS INT = 2016 ;WITH N(N)AS (SELECT 1 FROM(VALUES(1),(1),(1),(1),(1),(1))M(N)), tally(N)AS(SELECT ROW_NUMBER()OVER(ORDER BY N.N)FROM N,N a), all_dates as (SELECT datefromparts(@year,@month,N) date FROM tally WHERE N <= day(EOMONTH(datefromparts(@year,@month,1)))), all_possible_Comb as (select * from all_dates cross join (select distinct id as id from table1) t) select a.* from table1 t right join all_possible_comb a on t.id=a.id and t.date=a.date where t.id is null 时,量角器测试失败了:

ng e2e

我认为这意味着我需要[21:25:53] I/direct - Using ChromeDriver directly... [21:25:53] I/launcher - Running 1 instances of WebDriver [21:25:56] E/launcher - Error: TSError: ? Unable to compile TypeScript src\app\user\user.ts (9,12): Property 'assign' does not exist on type 'ObjectConstructor'. (2339) 的polyfill但是我没有找到任何直接的方法。我曾尝试过简单地告诉Object.assign()定位es5,但这似乎并没有填充tsconfig.json。我也试过使用babel-polyfill,但是我无法按照设置过程进行操作,所以我不确定我是否正确使用了它。无论如何,我更喜欢“轻量级”解决方案。

我正在寻找与assign版本2.3.1(节点6.9.4)创建的环境兼容的内容

更新:我忘了提到问题出在TestBed功能中,我假设在angular-cli而不是浏览器中运行组件。具体失败的代码是:

node

我能够通过将我的分配调用作为import { TestBed, ComponentFixture } from '@angular/core/testing'; ... TestBed.configureTestingModule({ declarations: [LoginComponent], providers: [AuthService] }); 来修复错误。这不需要在浏览器中运行相同的代码,甚至不需要(<any>Object).assign( this, values )的e2e测试。我真的不明白TestBed,但我正在使用它,因为它似乎是e2e-spec文件中组件的方式。

0 个答案:

没有答案