茉莉独立版中的辅助函数

时间:2018-12-28 21:33:24

标签: javascript jasmine helper

我有一个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 :(得分:0)

使用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>

然后,只需在浏览器中打开该文件,您就可以看到测试按要求运行。

小心!如果要让Tests.js调用TestUtils.js帮助器方法,则必须在Tests.js之前放置TestUtils.js。这是因为在HTML中,静态包含的脚本将按照它们在文件中出现的顺序进行注入。