2016-10-12 4 views
0

Я просто хочу инициировать TestBed, поэтому я могу использовать функции TestBed. Я пытаюсь это в моей Src/test.spec.ts и он не работает:Как сделать Angular 2 final (2.0.0, after rc7) и TestBed работать в этом Plunkr?

TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting()); 

Я также пытался делать System.import для Testbed и это не сработало. Например, это не работает как тег скрипта в index.html.

Promise.all([ 
    System.import('@angular/core/testing'), 
    System.import('@angular/platform-browser-dynamic/testing') 
]).then(function (providers) { 
    var testing = providers[0]; 
    var testingBrowser = providers[1]; 
    testing.TestBed.initTestEnvironment(testingBrowser.BrowserDynamicTestingModule, 
     testingBrowser.platformBrowserDynamicTesting()); 
}).then(function() { 
    return Promise.all(
      return System.import(app/test.spec.ts); //"app" stands for // './src' in the config.js file for SystemJS 
     ); 
}) 

Вот Plunkr: https://plnkr.co/edit/K0IyBnR8F4F7zOp6LETi?p=preview

ответ

1

Кажется, вы забыли о rxjs и вам необходимо также обновить zonejs и включают в себя некоторые другие zonejs скрипты:

config.json

map: { 
    'app': './src', 
    'typescript': 'npm:[email protected]/lib/typescript.js', 
    '@angular/core': 'npm:@angular/[email protected]/bundles/core.umd.js', 
    '@angular/common': 'npm:@angular/[email protected]/bundles/common.umd.js', 
    '@angular/compiler': 'npm:@angular/[email protected]/bundles/compiler.umd.js', 
    '@angular/platform-browser': 'npm:@angular/[email protected]/bundles/platform-browser.umd.js', 
    '@angular/platform-browser-dynamic': 'npm:@angular/[email protected]/bundles/platform-browser-dynamic.umd.js', 
    '@angular/http': 'npm:@angular/[email protected]/bundles/http.umd.js', 
    '@angular/router': 'npm:@angular/[email protected]/bundles/router.umd.js', 
    '@angular/forms': 'npm:@angular/[email protected]/bundles/forms.umd.js', 
    '@angular/upgrade': 'npm:@angular/[email protected]/bundles/upgrade.umd.js', 
    '@angular/core/testing': 'npm:@angular/[email protected]/bundles/core-testing.umd.js', 
    '@angular/common/testing': 'npm:@angular/[email protected]/bundles/common-testing.umd.js', 
    '@angular/compiler/testing': 'npm:@angular/compil[email protected]/bundles/compiler-testing.umd.js', 
    '@angular/platform-browser/testing': 'npm:@angular/[email protected]/bundles/platform-browser-testing.umd.js', 
    '@angular/platform-browser-dynamic/testing': 'npm:@angular/[email protected]/bundles/platform-browser-dynamic-testing.umd.js', 
    '@angular/http/testing': 'npm:@angular/[email protected]/bundles/http-testing.umd.js', 
    '@angular/router/testing': 'npm:@angular/[email protected]/bundles/router-testing.umd.js', 
    '@angular/forms/testing': 'npm:@angular/[email protected]/bundles/forms-testing.umd.js', 

    'rxjs': 'npm:rxjs' 
}, 

index.html

<script src="https://unpkg.com/[email protected]/dist/zone.js"></script> 
<script src="https://unpkg.com/[email protected]/dist/long-stack-trace-zone.js"></script> 
<script src="https://unpkg.com/[email protected]/dist/async-test.js"></script> 
<script src="https://unpkg.com/[email protected]/dist/fake-async-test.js"></script> 
<script src="https://unpkg.com/[email protected]/dist/sync-test.js"></script> 
<script src="https://unpkg.com/[email protected]/dist/proxy.js"></script> 
<script src="https://unpkg.com/[email protected]/dist/jasmine-patch.min.js"></script> 

Кроме того, что у Вас есть ошибка в компоненте:

SRC/component.ts

export class myCmp { 
    this._testVar = "initial value"; 

Вы должны удалить this.

Вот Plunker Example для вашего случая. Надеюсь, это поможет вам!

+0

Спасибо, что так много! У меня недостаточно репутации, чтобы дать вам лучший ответ. – coder

+0

Добро пожаловать! – yurzui

+0

Привет, yurzui, вы можете показать мне, как этот plunkr будет работать, если дочерний компонент на шаблоне должен быть обновлен. – coder

Смежные вопросы