使用 Intern 测试自定义 JavaScript(不是 Node 模块)

2024-05-10

  1. 是否可以为自定义客户端创建和运行测试套件 JavaScript,不是作为 Node 模块创建的?应该如何 那么配置要改吗?

  2. Intern 配置中有 loader 部分,指定了 如果我做对了,将会加载的包。是否有必要 以某种方式在这里包含我的自定义 JS 代码?

  3. 当我的测试套件不属于任何 Node 包、只属于我的自定义 JS 代码时,我应该将它们放在哪里以及它们应该是什么样子。换句话说,我将如何“加载”并运行它们?

我尝试过以某种方式让它工作,但我对 Node.js 没有经验。我的尝试结果是这样的:

$ node client.js config=tests/js/intern
Defaulting to "console" reporter

1. Your 测试模块始终需要编写为 AMD 模块,但您可以测试所需的任何客户端代码。在您的测试模块中,只需像任何其他模块一样将非 AMD 代码指定为依赖项,然后访问脚本创建的全局变量:

define([
  'intern!tdd',
  'intern/chai!assert',
  'intern/order!myPackage/myFoo.js'
], function (tdd, assert /* note, no assignment here */) {
  tdd.suite('foo suite', function () {
    tdd.test('something in foo', function () {
      // accessing a global variable created by `myPackage/myFoo.js`
      assert.ok(window.myFoo, 'Global myFoo object should exist');
    });
  });
});

2. 您不需要在 Intern 配置中执行任何明确的操作即可使其正常工作,除了在suites array.

3. 对于需要测试的客户端应用程序,建议的目录结构如下所示:

/ - your entire application
    src/
        index.html - your app’s entry-point HTML
        app/ - your app package, containing application-specific JavaScript to be tested
            foo.js        - Some module `foo`
            tests/        - Intern tests for `app`
                foo.js    - Tests for `foo`
                intern.js - Intern configuration for `app`
    node_modules/
        intern/

当然,这会根据应用程序的架构方式而有所不同,但从“从头开始”的方法来看,这是我们通常推荐的目录结构。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Intern 测试自定义 JavaScript(不是 Node 模块) 的相关文章

随机推荐

  • 如何将命令行参数传递给 rake 任务

    我有一个 rake 任务需要将一个值插入到多个数据库中 我想从命令行或从another耙任务 我怎样才能做到这一点 您可以通过向任务调用添加符号参数来指定 rake 中的形式参数 例如 require rake task my task a
  • 使用 jdbc 程序连接到 Open Office odb 文件

    我编写了以下代码来连接到 OpenOffice db String db C Documents and Settings hkonakanchi Desktop Test odb Class forName org hsqldb jdbc
  • 节点未被识别为内部或外部命令,但位于 PATH 中

    尽管我遵循了以下建议 使用phonegap cordova时 node 不被识别为内部或外部命令 可操作程序或批处理文件 https stackoverflow com questions 23412938 node is not reco
  • Android 构建签名 APK 时出错:找不到用于签名配置“externalOverride”的 keystore.jks

    当我尝试构建签名 APK 时出现此错误 我最近升级到 API 23 但之后成功生成了 APK s 我很困惑 寻求帮助并建议如何解决这个问题 这是错误 FAILURE Build failed with an exception What w
  • Google Fit Rest api 给出错误的步数计数

    我正在开发一个网络应用程序 需要定期从 Google Fit 获取用户的步数 我浏览了 API 文档并找到了 REST 端点 https www googleapis com fitness v1 users me dataset aggr
  • 撇号 php 问题

    我正在做一项涉及喊话箱的学校作业 一个很棒的教程 它使用 jquery ajax mysql 和 php 现在我遇到了以下句子的一个小问题 result li strong row user strong img src alt row m
  • 在 htaccess 文件中使用 RewriteMap

    如何在 htaccess 文件中使用 RewriteMap 指令 当我把它放在那里时 我收到 此处不允许 RewriteMap 错误 我知道当将其放入 httpd conf 或虚拟主机配置文件中时 此错误将会消失 但我想知道是否可以将其放入
  • 如何将one-hot向量转换为多标签?

    我有一项多分类任务 并且我得到了像这样的单热类型预测 0 1 1 0 1 0 1 0 1 我希望将这个单热向量转换为标签 例如 1 2 1 0 2 我已经尝试过 tf argmax 但它不起作用 那么我该如何处理呢 使用列表理解 oheLi
  • 如何将计算值转换为文字以进行枚举初始化

    我遇到了枚举的问题 因为我想将 case 初始化为双精度值PI 180 有没有办法通过常量或一些时髦的魔法获取这个计算值并将其转换为文字 以便我可以初始化枚举 我宁愿不必做3 14 我宁愿使用该值的实际编译器和硬件计算表示 所以我的第一次尝
  • 在网页上写乐谱[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在网页中编写乐谱和和弦 有没有可用的库 例如用于数学的 Mathjax 如果没有 那么还有其
  • 从数组中查找前 N 个条目

    我的收藏结构如下 id 1 Trips EndID 5 Tripcount 12 EndID 6 Tripcount 19 id 2 Trips EndID 4 Tripcount 12 EndID 5 Tripcount 1
  • Iphone 上的 Javascript 日期解析

    我正在开发一个针对移动设备的离线 Javascript 网站 iPhone 就是这样的一种移动设备 我正在尝试从 REST API JSON 对象的成员 解析日期 我在用着 Date parse 2010 03 15 10 30 00 这适
  • 如何更改 Codeigniter 中的配置文件路径?

    我使用 Codeigniter 框架 你知道当我尝试加载配置文件然后使用它时 我做了类似的事情 this gt load gt config myconfig TRUE myconfig php 文件位于应用程序文件夹内 applicati
  • VS2012 中的实体框架问题 - 重命名属性不粘

    我试图在 VS2012 中创建一个新项目 其中包含管理 MVC4 项目 网站 MVC4 项目和通用实体框架 dll 项目 我使用了现有的数据库并从中生成了我的实体 我更新了一些关系属性的名称并保存 然后 我将对实体框架项目的引用添加到我的两
  • iPhone 存储大量图像

    我有大量与 sqlite 数据库中的记录相对应的图像 我应该把它们存放在哪里 我有同一张图像的 3 个版本 大号 中号 拇指号 我不想将它们存储在数据库表中 而是从每条记录中引用它们 所有图像都具有相同的名称 每个小 中和大图像文件都将被称
  • Android TableRow 垂直拉伸以填充屏幕

    我正在尝试创建一个电话拨号器视图 使用 TableLayout 在 3x4 网格中创建 12 个按钮 我希望行垂直拉伸以平等地使用所有可用空间 但似乎 fill parent 在 TableRows 上不起作用 我不想使用 setMinim
  • JUnit 使用 Mockito 测试异步方法

    我已经使用 Spring Framework 版本 5 0 5 RELEASE 在 Java 1 8 类中实现了异步方法 public class ClassToBeTested Autowired private MyComponent
  • Android:从 https url 获取响应

    问候 我正在开发一个 Android 应用程序 需要通过 https 打开一个 url 带有 POST 参数 并获取响应 我有一个自签名证书 这让情况更加复杂 我还需要接受cookies 有人知道从哪里开始吗 提前谢谢了 Android 附
  • 如何从 php 代码更改 php 设置?

    我想更改 php 设置 但从 php 页面而不是 php ini 更改 我要更改的设置是 upload max filesize post max size and memory limit 如果您有AllowOverride 选项 您可以
  • 使用 Intern 测试自定义 JavaScript(不是 Node 模块)

    是否可以为自定义客户端创建和运行测试套件 JavaScript 不是作为 Node 模块创建的 应该如何 那么配置要改吗 Intern 配置中有 loader 部分 指定了 如果我做对了 将会加载的包 是否有必要 以某种方式在这里包含我的自