вспомогательные функции в Жасмин Автономный - PullRequest
0 голосов
/ 29 декабря 2018

У меня есть модуль Spec, который тестирует несколько методов.В этом же файле у меня есть вспомогательные функции.Есть ли способ перенести вспомогательные функции в отдельный файл с помощью jasmine standalone и vanilla js?

  describe('#formatDateAndTime', () => {
    it('formats the date and time as per the requirements', () => {
      expect(till._formatDateAndTime()).toEqual(timeAndDate());
    });
  });

  function timeAndDate () {
    let today = new Date();
    return [today.getFullYear() + '.' + (today.getMonth() + 1) + '.' +
    today.getDate() + ' ' + today.getHours() + ':' + today.getMinutes() +
    ':' + today.getSeconds()];
  }

как я могу переместить функцию timeAndDate () в вспомогательный файл

1 Ответ

0 голосов
/ 29 декабря 2018

В автономном Jasmine вы связываете все свои скрипты в html-файле - назовем это tests.html.Допустим, ваши тестовые примеры находятся в Tests.js, а вы помещаете своих помощников в TestUtils.js.

Вот что вы можете сделать в этом HTML-файле:

tests.html

<html>
    <head>
        <title>Tests</title>
        
        <!-- Jasmine -->
        <link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-3.3.0/jasmine_favicon.png">
        <link rel="stylesheet" type="text/css" href="jasmine/lib/jasmine-3.3.0/jasmine.css">
        <script type="text/javascript" src="jasmine/lib/jasmine-3.3.0/jasmine.js"></script>
        <script type="text/javascript" src="jasmine/lib/jasmine-3.3.0/jasmine-html.js"></script>
        <script type="text/javascript" src="jasmine/lib/jasmine-3.3.0/boot.js"></script>

        <!-- All scripts you want to test -->
        <script src='MyCoolProgram.js'></script>

        <!-- Specs -->
        <script src='TestUtils.js'></script>
        <script src='Tests.js'></script>
    </head>
</html>

Затем просто откройте этот файл в браузере, и вы сможете увидеть, как ваши тесты работают должным образом.

Осторожно! Вы должны поместить TestUtils.js перед Tests.js, если хотите, чтобы Tests.js вызывал вспомогательные методы TestUtils.js.Это связано с тем, что в HTML статически включенные сценарии внедряются в порядке их появления в файле.

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