问题标签 [js-test-driver]
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.
javascript - jQuery Ajax 测试不起作用
我正在尝试测试一个非常简单的 jQuery 插件,它只需调用 $.ajax 方法并将其内容放入元素中。对于测试,我使用 JsTestDriver 和 Sinon 进行模拟。
插件文件看起来:
理论上很简单的插件。
然后我写了一个单元测试模拟成功函数:
它似乎也正确。然后,如果您执行此测试,将通过控制台打印下一行:
所以成功函数正确接收“alex”字符串。然后打印 $(this) 引用,使用 html() 函数设置消息,当我记录以前的设置值时,返回 null。最后一条日志消息在测试文件中,您可以在其中看到未设置 ajax 文本。
有人知道我做错了什么吗?因为我确信我错过了一些现在我看不到的东西。
javascript - jsTestDriver:运行测试时出现org.jvyaml.ParserException
我尝试使用 jsTestDriver 运行 javascript 测试。当我开始测试时,发生了异常。
当 jsTestDriver 的 .conf 文件在 args 中只包含一个文件路径时,不会出现该问题,例如:
javascript - JsTestDriver,测试函数的名称
测试函数的名称有什么限制吗?
当我将以下内容编写为testA()
andtestB()
时,它们都将被实现。
但是如果我将名称从“testB”更改为“AjaxCreateT”,testA()
就会执行。太奇怪了。有人可以帮忙吗?
continuous-integration - 如何在 Jenkins 上使用远程浏览器执行 js-test-driver 任务?
我们使用 Jenkins 将 .NET Web 应用程序与 NAnt/NUnit 持续集成以进行 .NET 测试。Jenkins 配置了 9 个从属设备(所有这些从属设备都是 Windows Server 2003),它们运行许多构建及其自动化测试。
我们正在尝试设置 js-test-driver 来运行我们的 JavaScript 单元测试,并且下面的 NAnt 任务在开发人员工作站上本地运行良好。Internet Explorer 是我们想要测试的唯一浏览器,因为它是我们所有 Web 应用程序的唯一目标浏览器。
我们在 Jenkins 上遇到相同任务的问题,可能是因为:
- 它是一台服务器,我们作为服务帐户运行
- 服务器上的浏览器安装存在安全限制
js-test-driver wiki上的GettingStarted
页面说我们可以在与运行 js-test-driver 服务器的机器不同的机器上运行浏览器:
在运行任何测试之前,您需要启动测试服务器并捕获至少一个从属浏览器。服务器不必驻留在测试运行器所在的机器上,浏览器本身也可以在不同的机器上。
- 有人在 Jenkins/Windows 设置上做过这个吗?
- 对于运行 js-test-driver 的可扩展设置,还有其他替代方案吗?
javascript - JSTestDriver 覆盖 eclipse 插件
我正在使用 JSTestDriver Eclipse 插件,我想安装覆盖插件:有人知道如何让它在 Eclipse 中工作吗?
提前致谢
其他需要注意的事项:我在 Win XP 64 位,Eclipse 版本:面向 Web 开发人员的 Eclipse Java EE IDE。版本:Helios Service Release 2 Build id:20110218-0911
.conf 文件中的插件部分是:
javascript - JStestDriver assertEquals("000011",11) 不应该是假的吗?
我预计 JSTD 将“000011”(字符串)视为不等于 11(数字)。
但是,看看他实际的 JSTD 代码,assertEquals 返回
仅当元素之一是对象时,否则返回
这不是错的吗?
javascript - Jasmine + JSTestDriver + Coverage + RequireJS
哇,真是一团糟。这就是场景。
- 骨干驱动的 JS 应用程序。
AMD 功能的 RequireJS,初始化如下:
然后在 main.js 中使用以下配置代码:
每个 Backbone View/Model/Router 都是一个“define(...)”模块,并且在 main.js 中调用了一次“require("theOneRouter", ...)”。
r.js 用作 Uglify/Closure 的优化器。在 ./release 子文件夹中创建了一个“已编译”的 main.js,我在 .net 框架中动态选择了该子文件夹。
花了很长时间才让 Backbone + Require.JS 工作,但现在工作得很好!
然后在上面拍打茉莉花也需要一些定制工作,但效果很好。我必须从我的 SpecRunner.html 加载 require.js,使用 require 的 define(...) 调用将每个测试模块定义为 AMD,然后我从一次对 require 的 require(...) 调用的调用中实例化并运行 Jasmine在 SpecRunner.html 中:
这也很好用。测试加载并运行,没有问题。Require 处理一切。
现在,我想要一个像 JSTestDriver 这样的框架来充当我的跑步者。我选择 JSTD 是因为它简单、能够在远程浏览器上进行测试、支持代码覆盖率,但我仍然愿意接受其他建议。
JSTestDriver 本身工作正常,我唯一的问题是将 JSTD + Jasmine + ReuireJS 组合在一起运行。最大的问题是,如果我在配置文件中告诉 JSTD 关于 Jasmine/Require 测试模块以便加载它,我会收到以下错误:
http://requirejs.org/docs/errors.html#mismatch
如果我使用 r.js 将我的所有代码优化到一个 main.js 中,那么组合工作,包括 Coverage,但覆盖率被收集在一个巨大的文件中并且难以分析。更不用说检测一个 50k 行代码的 js 文件并通过 JSTD 运行它需要很长时间。
我尝试创建一个类似夹具的 js 文件来加载我所有的 Jasmine 测试模块和代码模块,但我不断返回上面的“不匹配”错误,并且,如果我没有单独告诉 JSTD 每个模块(通过加载一个 html /js 夹具进行真正的加载)它们不会被检测到代码覆盖率。
有没有人让这个特定的组合起作用?可能是我要求太高了……
javascript - JStestDriver 可以用来测试 JSP 文件中的 js 代码吗?
快速提问:
是否可以对编写在 JSP 文件中的 Javascript 代码进行单元测试,尤其是使用 JStestDriver?
还是我必须将其提取到外部 js 文件中?
unit-testing - 使用带有 jsTestDriver 的闭包库
我正在通过编写一个简单的 JavaScript 游戏来学习谷歌关闭工具。我无法弄清楚如何设置 jsTestDriver 以便它与闭包库一起工作。
具体来说:我想使用 goog.require 机制来包含任何额外的 JavaScript 文件,而不是必须手动将它们全部添加到配置文件中。
按照 meyertee 的建议,我制作了一个简单的脚本来自动将依赖项写入配置文件
tests/jsTestDriver.conf.proto 文件是一个简单的模板:
这是一个非常脆弱的脚本,但希望有人(除了我)会发现它有用。
coffeescript - Require.JS 和 JS 测试驱动程序:意外的令牌 <
我正在尝试测试通过 RequireJS 加载的简单主干模型:
我的测试看起来像:
JS 测试驱动程序配置:
从 Chrome 控制台上的 JS 测试驱动程序监听页面看到的问题:
未捕获的 SyntaxError:意外的令牌 <
从 Chrome 中查看 Todo.js,
注意它是一个 HTML 页面,而不是我的实际 JS。也console.log(Todo)
返回undefined
,因为返回的是 HTML 页面而不是 JS。我配置错了吗?