辅助清理Angular 2组件测试教程

时间:2017-04-18 21:34:38

标签: angular testing jasmine karma-jasmine

我正在尝试学习Angular的API进行测试。我目前正在阅读以下教程:

https://angular.io/docs/ts/latest/guide/testing.html#!#atu-apis

我对以下代码如何工作的理解与我在运行测试时看到的内容不符。据我理解代码,第二种方法是将元素内容重置为'Test Title'并在toContain方法中检查相等性。

it('should display original title', () => {
  fixture.detectChanges();
  expect(el.textContent).toContain(comp.title);
});

it('should display a different test title', () => {
  comp.title = 'Test Title';
  fixture.detectChanges();
  expect(el.textContent).toContain('Test Title');
});

然而,当我玩代码并从toContain('Test Title')进行以下更改时;为了得到('测试'),测试仍然通过。这可以在实例中看到:

https://angular.io/resources/live-examples/testing/ts/banner-inline-specs.eplnkr.html

enter image description here

我在自己的测试中得到了相同的结果。我假设测试应该失败,但事实并非如此。

感谢。

1 个答案:

答案 0 :(得分:0)

那是因为你可以在Jasmine's Default Matcher's中看到你没有使用正确的。尝试使用.toContain更改.toEqual:)

.toContain所做的是检查您搜索的内容是否在那里。

相关问题