问题标签 [intern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
490 浏览

intern - 如何使用通配符在 Intern 中指定测试套件?

我在这个文件夹中有一堆单元测试:src/app/tests/. 我必须单独列出它们intern.js还是有办法使用通配符?我试过了

但这只会导致测试运行器尝试加载src/app/tests/*.js. 我真的必须单独列出每个测试套件吗?

0 投票
1 回答
799 浏览

javascript - 配置实习生设置/拆除我的服务器模拟

我正在使用 Intern 为 JavaScript 小部件编写测试套件。

我已经编写了一些纯 JavaScript 测试和一些页面内DOM测试,但我对如何为Ajax功能编写功能测试有点困惑,它应该与我的简单Node.js模拟服务器(它很有效)用于手动测试)。

具体来说,我想做的是:

  1. 作为测试套件设置阶段的一部分,启动 Node.js 模拟服务器
  2. 测试结束时拆除模拟服务器
  3. (加分)能够从我的实习生测试中询问模拟服务器,例如,检查对模拟的POST请求的内容

我被困在这三个方面 - 我找不到任何来自实习生的文档示例代码,说明如何在测试套件中处理单独进程(如 Node.js 模拟服务器)的设置或拆卸。

我正在使用带有 Sauce Labs 的实习生(托管Selenium) - 我不确定我的问题是需要在实习生方面解决,还是在 Sauce Labs 方面也需要解决。希望有人得到这个工作并可以提供建议。

0 投票
1 回答
1029 浏览

javascript - 使用实习生 Js 测试节点模块 - 无法解析“要求”

我正在尝试使用实习生测试一个简单的节点模块。该模块是一个 AMD 模块。我遇到了几个问题

  1. 如果模块定义如下,我得到错误“moduleName”没有方法“map””

    define('moduleName',[]function(require){ var r= require('request'); })

  2. 如果模块在没有模块名称的情况下定义如下,我会看到此错误“未定义不是函数”-我猜它无法解析“要求”

    define([]function(require){ var r= require('request'); })

这是我的测试的样子

});

0 投票
1 回答
595 浏览

code-coverage - 使用 theIntern 生成代码覆盖率报告

我正在使用 theIntern 对我的 javascript 框架进行单元测试。我的测试使用节点运行良好。

但是,我无法正确生成代码覆盖率报告。我尝试了文档中提供的选项。在通过 selenium Web 驱动程序进行测试时,我成功地将代码覆盖率信息打印到控制台上。这只是一个总结。

如何使用控制台以外的报告器生成广泛的代码覆盖率报告?

我提供了“记者”选项,但没有打印报告。任何帮助,将不胜感激。

0 投票
1 回答
161 浏览

intern - 可以对 elementsByXYZ 返回的元素执行什么操作?

这个问题是关于用实习生编写的功能测试。

elementsByXYZ 方法返回一个元素数组。我注意到我可以在这些返回的元素上调用方法 click(),但我不能例如调用方法 getAttribute(attributeName)。

可以对 aa elementsByXYZ 方法返回的元素调用的方法列表是什么?

这是一个代码片段,说明了我要实现的目标:

控制台显示 children[i].getAttribute('className') 返回未定义,而我可以看到每个孩子都正确执行了点击。

0 投票
1 回答
486 浏览

javascript - 在实习生中使用 ArcGIS JSAPI 作为备用加载程序时的测试套件路径

我有一个使用 ArcGIS Javascript API 构建的应用程序,并且我一直在使用实习生添加测试。我在开发时在 Windows 7 的 IIS 下运行它。开始时我可以毫无问题地让实习生教程工作,并且在查看了如何为实习生指定备用加载器之后,我能够将 client.html 中的加载器设置为<script src="http://js.arcgis.com/3.7/"></script>并且我能够让我的测试运行,但只有在我更改了路径之后在查询字符串和 intern.js 中包含 IIS 中定义的父路径。

例如,假设我的应用程序托管在http://localhost/testApp/mySitemySite 位置,并且我在 mySite 位置定义了 js、css、tests 和 node_modules 文件夹。要运行测试,我必须先到http://localhost/testApps/mySite/node_modules/intern/client.html?config=mySite/tests/intern配置mySite的位置。同样,在我的配置中,我必须像这样定义我的套件:

如果我不更改脚本标签以在 client.html 中使用不同的加载器并在 node_modules 中使用 dojo 的版本,那么我不需要额外的路径(但找不到 esri 库)。

从那以后,我还找到了实习生教程的 esri jsapi 版本,在该教程中,他不必更改加载器。不同之处在于,由于 dojo 1.8.3 中的错误,他正在使用 intern-geezer,但我使用的是 esri jsapi 3.7,因此拥有 dojo 1.9.1,而且我也不关心旧的 IE,所以如果我不必。我确实以与他相同的方式在 intern.js 中指定了我的包。

我确实复制了我的应用程序并安装了 intern-geezer 而不是实习生,我能够运行测试。除了一个都通过了(我怀疑这是因为 geezer 不支持 chai 的某些东西),我根本不需要修改路径。client.html 的实习生版本与实习生不同。它不使用要求。

有没有一种方法可以让实习生使用 esri jsapi 而无需更改 client.html 中的加载程序?我也希望以自动化的方式从命令行运行。

0 投票
2 回答
971 浏览

javascript - Dojo 测试框架:Dojo Objective Harness vs Intern

我最近采用了 Dojo Toolkit 作为我的第一个 JavaScript 库,并且正处于需要开始测试的技术债务门槛。我首先研究了 Dojo Object Harness (DOH) 单元测试框架,并通过研究 dojo 工具包源中的实践测试用例学到了最多的东西:

但是,即使有这些示例,我也无法绕过我认为是 DOH 源代码中的错误的错误。这是我的错误:

我无法解决这个“测试超时”错误,因为教程 [至少部分] 过时了,而且社区似乎很小。问题 1:有人遇到过这个“测试超时”错误吗?

我还看到 SitePen 最近更改为新的测试框架,这可以解释我的很多问题: http ://www.sitepen.com/blog/2013/05/01/intern-javascript-testing/

0 投票
2 回答
497 浏览

dojo - Dojo baseUrl 在本地运行 Intern.io 功能测试时出错

我正在尝试让 Intern.io 对本地 Selenium 独立服务器执行功能测试(如此处所问:如何设置 Selenium 2 Server,以便实习生可以在一个浏览器上本地运行功能测试?)和一些说明的答案在这里提供:https ://gist.github.com/neonstalwart/6630466

但是,我不断收到以下错误:

这实际上与我在按照说明操作之前遇到的错误相同。我猜我的“intern.js”文件中的“loader”属性配置不正确。它当前设置为以下内容:

我在这里关注实习生教程:https ://github.com/theintern/intern-tutorial并且只想能够在本地运行功能测试,而不是针对 SauceLabs。

有没有人遇到过这个错误并有解决方案?

谢谢

0 投票
1 回答
148 浏览

intern - 实习生可以测试依赖于 HTML 标记的 JavaScript 吗?

我希望能够以与 Dojo 的 DOH 相同的方式测试小部件。这方面的一个例子是例如 dijit 测试,例如https://github.com/dojo/dijit/blob/master/tests/Fieldset.html

DOH 在浏览器中运行,可以测试是否已创建声明性小部件、测试小部件上的属性等

实习生是否可以使用 runner.js 或者我必须使用 webdriver 并使用执行 eval 例如http://code.google.com/p/selenium/wiki/JsonWireProtocol#POST_/session/:sessionId/execute(其中我真的不想做)

我在这方面看到的任何示例都依赖于以编程方式创建标记,使用 eval 无法实现我想要做的

0 投票
1 回答
618 浏览

intern - 实习生如何设置功能测试的超时时间?

我正在使用 Intern 针对 Web 应用程序编写功能测试,并且我想为我的每个功能测试定义超时 > 30s(30s 是 Intern 测试的默认超时)。

我在文档中找不到任何相关内容。有人知道该怎么做吗?

谢谢你的帮助 !