我正在使用 JavaScript 构建客户端 Web 应用程序。为了构建模板,我使用了 HandleBars.js 模板,即 .hbs 文件。 我正在使用 Jasmine 框架来编写 JavaScript 代码的规范。 但我一直坚持从规范中的源文件加载 .hbs 模板。
使用 Jasmine-Jquery ( Link ) 插件,我已经包含了静态 html 模板。
这是示例模板的一部分:
<li>
<div class="fixedText">
<div class="middleItem">Name</div>
<div class="midItemValue" style = "margin-right: 0.6rem;">
<input id = "textNewGroupName" type="text" style = "width : 300px;" maxlength="300" name="name" value="{{name}}">
</div>
</div>
</li>
包含在 hbs 文件中。由于模板中类似的动态值(此处为名称),我无法使用静态固定方法。
最佳答案
我通过问题中给出的链接找到了下面的示例,并且该固定装置用于 HTML
loadFixtures('myfixture.html');
// Run test
some.methodToTest();
// Expect that the methodToTest has modified the content in the div
expect($('#fixtureId')).to...;
我也找到了HBS的答案,如下:-
- 我没有加载
myfixture.html
,而是加载了HBS 文件
。 - 此外,还可以通过 var t = readFixtures('myFixture.hbs') 完成相同的操作。
- 另一种方法是使用
Handlebars.compile('myFixture.hbs')
关于javascript - 如何在 Jasmine 中包含 HBS 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16413598/