我有一个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()函数移至帮助文件
答案 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中,静态包含的脚本将按照它们在文件中出现的顺序进行注入。