问题标签 [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.
intern - 如何使用通配符在 Intern 中指定测试套件?
我在这个文件夹中有一堆单元测试:src/app/tests/
. 我必须单独列出它们intern.js
还是有办法使用通配符?我试过了
但这只会导致测试运行器尝试加载src/app/tests/*.js
. 我真的必须单独列出每个测试套件吗?
javascript - 配置实习生设置/拆除我的服务器模拟
我正在使用 Intern 为 JavaScript 小部件编写测试套件。
我已经编写了一些纯 JavaScript 测试和一些页面内DOM测试,但我对如何为Ajax功能编写功能测试有点困惑,它应该与我的简单Node.js模拟服务器(它很有效)用于手动测试)。
具体来说,我想做的是:
- 作为测试套件设置阶段的一部分,启动 Node.js 模拟服务器
- 测试结束时拆除模拟服务器
- (加分)能够从我的实习生测试中询问模拟服务器,例如,检查对模拟的POST请求的内容
我被困在这三个方面 - 我找不到任何来自实习生的文档或示例代码,说明如何在测试套件中处理单独进程(如 Node.js 模拟服务器)的设置或拆卸。
我正在使用带有 Sauce Labs 的实习生(托管Selenium) - 我不确定我的问题是需要在实习生方面解决,还是在 Sauce Labs 方面也需要解决。希望有人得到这个工作并可以提供建议。
javascript - 使用实习生 Js 测试节点模块 - 无法解析“要求”
我正在尝试使用实习生测试一个简单的节点模块。该模块是一个 AMD 模块。我遇到了几个问题
如果模块定义如下,我得到错误“moduleName”没有方法“map””
define('moduleName',[]function(require){ var r= require('request'); })
如果模块在没有模块名称的情况下定义如下,我会看到此错误“未定义不是函数”-我猜它无法解析“要求”
define([]function(require){ var r= require('request'); })
这是我的测试的样子
});
code-coverage - 使用 theIntern 生成代码覆盖率报告
我正在使用 theIntern 对我的 javascript 框架进行单元测试。我的测试使用节点运行良好。
但是,我无法正确生成代码覆盖率报告。我尝试了文档中提供的选项。在通过 selenium Web 驱动程序进行测试时,我成功地将代码覆盖率信息打印到控制台上。这只是一个总结。
如何使用控制台以外的报告器生成广泛的代码覆盖率报告?
我提供了“记者”选项,但没有打印报告。任何帮助,将不胜感激。
intern - 可以对 elementsByXYZ 返回的元素执行什么操作?
这个问题是关于用实习生编写的功能测试。
elementsByXYZ 方法返回一个元素数组。我注意到我可以在这些返回的元素上调用方法 click(),但我不能例如调用方法 getAttribute(attributeName)。
可以对 aa elementsByXYZ 方法返回的元素调用的方法列表是什么?
这是一个代码片段,说明了我要实现的目标:
控制台显示 children[i].getAttribute('className') 返回未定义,而我可以看到每个孩子都正确执行了点击。
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/mySite
mySite 位置,并且我在 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 中的加载程序?我也希望以自动化的方式从命令行运行。
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/
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。
有没有人遇到过这个错误并有解决方案?
谢谢
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 无法实现我想要做的
intern - 实习生如何设置功能测试的超时时间?
我正在使用 Intern 针对 Web 应用程序编写功能测试,并且我想为我的每个功能测试定义超时 > 30s(30s 是 Intern 测试的默认超时)。
我在文档中找不到任何相关内容。有人知道该怎么做吗?
谢谢你的帮助 !