jasmine.clock (). mockDate (...) не работает с тестами Angular E2E - PullRequest
0 голосов
/ 02 февраля 2019

Согласно моим исследованиям (например, Насмешка даты в транспортире ), мы должны иметь возможность подделать текущую дату, используя следующие строки в тесте Angular E2E с транспортиром:

it('should display the fake date put in place via jasmine.clock().mockDate()', async () => {
  jasmine.clock().install();
  jasmine.clock().mockDate(new Date(2040, 0, 1));

  await page.navigateTo();
  const result = await page.getCurrentDateDisplayed();
  expect(result).toEqual('2040-01-01');

  jasmine.clock().uninstall();
});

Однако, похоже, это не работает для меня, и я не понимаю, почему.Результаты теста показывают, что подделка даты не работает вообще, она использует текущую дату:

Expected '2019-02-02' to equal '2040-01-01'.

Вот также app.component.ts и соответствующий html-шаблон:

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  template: `
  <div style="text-align:center">
    <h1>
      Current date is <span class="e2e-curr-date">{{currentDate | date:'yyyy-MM-dd'}}</span>.
    </h1>
  </div>`,
})
export class AppComponent {
  currentDate = new Date();
}

Вот также полный источник: https://github.com/baumgarb/ng-e2e-test-w-jasmine-clock

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...