【问题标题】:Jasmine specs without specRunner.html - JS dependencies没有 specRunner.html 的 Jasmine 规范 - JS 依赖项
【发布时间】:2014-04-23 09:12:08
【问题描述】:

我有一个应用程序的单元测试,其中我想要测试的 javascript 依赖于其他 JS 框架(underscore.js、backbone.js、jQuery...)。因此,在设置 specRunner.html 时,我也添加了这些文件:

....
<head>
  <title>p13n.js Spec Runner</title>

  <link rel="shortcut icon" type="image/png" href="./jasmine-standalone-1.3.1/lib/jasmine-1.3.1/jasmine_favicon.png">
  <link rel="stylesheet" type="text/css" href="./jasmine-standalone-1.3.1/lib/jasmine-1.3.1/jasmine.css">
  <script src="./jasmine-standalone-1.3.1/lib/jasmine-1.3.1/jasmine.js"></script>
  <script src="./jasmine-standalone-1.3.1/lib/jasmine-1.3.1/jasmine-html.js"></script>

  <!-- include source files here... -->
  <script src=".../jquery.min.js" ></script>
  <script src=".../underscore-min.js"></script>
  <script src=".../backbone-min.js"></script>
  <script src=".../MyApplication-file.js"></script>

  <!-- include spec files here... -->
  <script src=".../spec/MyApplication-spec.js"></script>

  <script type="text/javascript">
    (function() {
      var jasmineEnv = jasmine.getEnv();
      jasmineEnv.updateInterval = 1000;

      var htmlReporter = new jasmine.HtmlReporter();
...

但是,这不适用于使用 Grunt 之类的工具进行自动化测试。我不能依赖 specRunner.html 来加载我的依赖项,因为 .html 没有被使用。你如何管理依赖关系?

  • 我应该测试我的应用代码 + 供应商的缩小和压缩版本吗?
  • 我应该在我的单元测试规范中使用像 require.js 这样的工具吗?
  • Grunt 是否以其他方式解决此问题?

【问题讨论】:

    标签: javascript unit-testing gruntjs jasmine


    【解决方案1】:

    根据您使用的 IDE 或编辑器,您可以指定依赖项,就像添加对文件的引用以完成代码一样。

    例如例如在 Visual Studio 中使用的格式是:

    /// <reference path="~/lib/jasmine-2.0.0/jasmine.js" />
    /// <reference path="~/lib/jasmine-2.0.0/jasmine-html.js" />
    /// <reference path="~/lib/jasmine-2.0.0/console.js" />
    /// <reference path="~/lib/jasmine-2.0.0/boot.js" />
    
    /// <reference path="../../../../<ProjectName>/javascript/shared/jquery-1.7.2.min.js" />
    /// <reference path="../../../../<PorjectName>/bundles/app.javascript.js" />
    

    是您的项目名称,这只是因为测试项目是与主应用程序分开的项目

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      相关资源
      最近更新 更多