使用Angular2中的ngModel测试双向绑定

时间:2017-04-26 11:53:57

标签: angular jasmine karma-runner ngmodel

我已经阅读了在Angular2中测试双向绑定的文档。实际上,所有示例都很简单,太简单。

似乎他们只是测试了超出约束力......

我会发布一些代码来说明:

a 1
b 2
c 3

那么有没有办法通过设置myValue来实际测试组件?我想我错过了什么......

2 个答案:

答案 0 :(得分:4)

尝试交换两行:

tick();
fixture.detectChanges();

所以它应该是

fixture.detectChanges();
tick();

这意味着首先需要设置值,然后在angular更新控件值时等待,因为它将在Promise.then

内发生

https://github.com/angular/angular/blob/4.1.0-rc.0/packages/forms/src/directives/ng_model.ts#L213-L214

<强> Plunker Example

答案 1 :(得分:0)

您必须在html输入标记中添加name属性

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        User::observe(UserObserver::class);
        User2::observe(UserObserver2::class);
        User3::observe(UserObserver3::class);
        User4::observe(UserObserver4::class);
        User5::observe(UserObserver5::class);
        User6::observe(UserObserver6::class);
        User7::observe(UserObserver7::class);
        User8::observe(UserObserver8::class);
        User9::observe(UserObserver9::class);
    }

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}