2016-04-06 14 views
1

角度2.0コンポーネントテストを実行しようとしています。私はthisポストを参照として使用していました(まだAngular 2.0 dosでは参照がありません)。角2コンポーネントテストエラー: 'TestComponentBuilder'のすべてのパラメータを解決できません

これは私のテストである:これらのテストを実行するとき

import 'reflect-metadata'; 
import { 
    it, 
    describe, 
    expect, 
    inject, 
    injectAsync, 
    beforeEach, 
    beforeEachProviders, 
    TestComponentBuilder, 
    ComponentFixture 
} from 'angular2/testing'; 
import {Main} from './index'; 

describe('Main',() => { 

    // provide our implementations or mocks to the dependency injector 
    beforeEachProviders(() => [ 
    Main 
    ]); 

    it('should have title', inject([ Main ], (main) => { 
    expect(main.title).toEqual('Hello Angular 2.0'); 
    })); 

    it('should add item to list', injectAsync([TestComponentBuilder, Main], (tcb: TestComponentBuilder, main) => { 
    return tcb.createAsync(Main).then((componentFixture: ComponentFixture) => { 
     const element = componentFixture.nativeElement; 
     expect(element.querySelectorAll('input').length).toBe(1); 
    }); 
    })); 
}) 

は今、私はCannot resolve all parameters for 'TestComponentBuilder'エラーを取得しています。別のエラーでbeforeEachProviders結果にTestComponentBuilderを追加しようとしている:私は間違って何をやっている

Cannot resolve all parameters for 'TestComponentBuilder'(?).

答えて

1

あなたは、この方法をテストするためのプロバイダを設定する必要があります。https://plnkr.co/edit/oVBPsH?p=preview:ここ

(...) 

import {setBaseTestProviders} from 'angular2/testing'; 

import { 
    TEST_BROWSER_PLATFORM_PROVIDERS, 
    TEST_BROWSER_APPLICATION_PROVIDERS 
} from 'angular2/platform/testing/browser'; 

describe('Test suite',() => { 
    setBaseTestProviders(TEST_BROWSER_PLATFORM_PROVIDERS, 
        TEST_BROWSER_APPLICATION_PROVIDERS); 

    beforeEach(() => { 
    (...) 
    }); 

    (...) 
}); 

は、サンプルplunkrです。

+1

エラーが発生しました: 'ResolvedMetadataCache'(?,?)のすべてのパラメータを解決できません ' –

+0

どのバージョンのAngular2を使用していますか? –

+0

Beta13。それは関連していますか? –

関連する問題