Angular 2+中的单元测试(点击按钮时的测试方法调用)

时间:2018-03-26 12:49:59

标签: angular

我正在尝试在单击某个按钮时测试方法调用,似乎没有任何效果。

这是我的HTML文件中的一行:

<button class="btn-grey" (click)="methodTest()">ODUSTANI</button>

我的组件中的方法:

export class MyComponent {

    constructor (public dialog: Matdialog) {}

    methodTest(): void {
        this.dialog.open(
            myOtherComponent,
            {disableClose: true, data:{title: someTitle, message: someMessage}
        );
    }

}

1 个答案:

答案 0 :(得分:1)

您需要使用Angular TestBed设置测试并注入服务。

case '^':
   result = 1;                // <--- add this
   while (num2 != 0) {
       result *= num1;
       --num2;
   }

然后你需要监视onButtonClick方法,单击按钮并检查方法是否被调用

import { TestBed, async, ComponentFixture } from '@angular/core/testing';

describe('', () => {
  let fixture: ComponentFixture<TestComponent>;
  let component: TestComponent;

  beforeEach(async(() => {

    TestBed.configureTestingModule({
       imports: [
         AppModule
       ],
       declarations: [ 
       ],
       providers: [
       ]}).compileComponents()
      .then(() => {
         fixture = TestBed.createComponent(TestComponent);
         comp = fixture.componentInstance;
      });
   }));
});