如何在Jasmine中包含HBS模板?

时间:2013-05-07 07:32:27

标签: javascript client-side handlebars.js jasmine specs

我正在使用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文件中。由于模板中的动态值(此处为名称)相似,我无法使用静态夹具方法。

1 个答案:

答案 0 :(得分:0)

我通过我在问题中给出的链接找到了以下示例,该夹具用于HTML

 loadFixtures('myfixture.html');

// Run test
some.methodToTest();

// Expect that the methodToTest has modified the content in the div
expect($('#fixtureId')).to...;

我也找到了HBS的答案,如下:

  1. 我没有加载myfixture.html,而是加载了HBS file
  2. 此外,var t = readFixtures('myFixture.hbs')也可以这样做。
  3. 另一种方法是使用Handlebars.compile('myFixture.hbs')