茉莉花期望语句不会在量角器场景中执行

时间:2016-02-04 03:40:16

标签: javascript jasmine protractor

不幸的是,我没有很好的娱乐步骤。这只发生在我的电脑上。

我的一些测试似乎运行得很好,但没有一个期望实际执行。通过其他测试,浏览器会在加载页面之前出现并关闭。可能是同一个问题。

我有一个测试:

expect(page.courseTitle.getText()).toBe 'Symphony'
expect(page.courseTitle.getText()).toBe 'garbage'

我希望这会失败,但事实并非如此。如果我添加该行:

expect(true).toBe false

测试失败并出现两个错误。如果我添加该行:

expect(true).toBe true

测试完全没有失败。

3 个答案:

答案 0 :(得分:0)

如果您需要比较字符串值,请使用toEqual() matcher:

expect(page.courseTitle.getText()).toEqual('Symphony');
  

expect(true).toBe false   expect(true).toBe true

您不应该在此致电toBe

expect(true).toBe(false);
expect(true).toBe(true);

答案 1 :(得分:0)

您可以使用:

expect(page.courseTitle.getText()).toBe('Symphony');
expect(page.courseTitle.getText()).toBe('garbage')
expect(true).toBeTruthy();
expect(true).toBeFalsy();

答案 2 :(得分:0)

我认为你误解了这一点。带垃圾的行应该失败,但不会,除非我添加一个可以同步执行的期望。

BTW这不会发生在我们的构建计算机上,只能在我的计算机上发生。

我确实找到了一个有效的测试,然后从那里开始工作。 添加此代码会导致执行期望:

afterEach ->
   browser.manage().logs().get('browser').then (browserLogs)->
       # Do some work here

这几乎就好像测试不会等到承诺在退出之前完成。