问题标签 [jstestrunner]
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 - 使用 qunit 和 jstestrunner 的真实示例?
我正在尝试在 Maven 中使用 jstestrunner 和 qunit 设置一些 javascript 单元测试。我从事过许多 Java 单元测试,包括设置基础设施,但我对 Javascript 执行此操作是新手。jstestrunner 页面上的设置信息会跳过关键信息。我会在 jstestrunner 邮件列表上询问这个问题,但他们的 codehaus 页面上的邮件列表链接无效,我找不到联系开发负责人 Christopher Hunt 的方法,除非可能通过提交 JIRA,似乎不合适。
使用页面谈到设置 phantomjs,但没有说明 qunit 接口。我想这对于经常使用 qunit 的人来说可能是显而易见的。
我已经创建了根 JUnit 测试包装器,但我看不到如何设置到 qunit 的缺失链接。
javascript - 有点奇怪的 javascript 代码适用于所有主要浏览器,但使用 phantomjs/qunit 失败
我在一个带有 javascript/html 前端和后端 REST 服务的应用程序上工作。我主要从事后端服务,但我正在尝试将 javascript 单元测试添加到构建中。我有人帮助我设置 javascript 测试框架,使用 phantomjs、qunit 和 jstestrunner,所有这些都来自 Maven。
我为一个模块(我们称之为“data.daily.js”)编写了一个简单的单元测试,它的开头是这样的:
需要明确的是,这段代码每天都在生产环境中运行,并且在所有主流浏览器(FF、IE 和 Chrome)中都可以正常运行。
测试看起来像这样:
当我运行这个测试时,它会像这样失败:
我能找到让这个测试工作的唯一方法是以这种方式更改“data.daily.js”,在现有行之前添加一行:
现在我不得不说这对我来说看起来很合乎逻辑,但事实仍然是现有代码在所有主要浏览器中都可以正常工作。此代码仅在从测试中引用时才开始失败。
请注意,我还尝试更改测试脚本,在“var dataDaily = new Data.Daily()”行之前添加“var Data = {}”行,但这没有效果。
那么,谁能解释这里发生了什么?如果测试失败,为什么原始代码可以工作。“require.js”是如何工作的,有什么奇怪的地方可以做到这一点吗?为什么通过在测试中添加行而不是 CUT(被测代码)无法进行测试?
javascript - 从 .net 单元测试运行 javascript 测试
我有使用带有“运行单元测试”步骤的 MSBuild 的工作 CI/CD 管道,并为此分离了构建服务器。安装 karma 或 npm 等其他工具来单独运行 javascript 测试非常困难,所以我想从 .net 单元测试运行所有 javascript 测试。
所以,基本上我想创建类似的东西
所以,我有两个问题:
1. 是否有任何现有的工具(如 nuget 包)?
2. 也许,我走错了方向,我应该努力创建单独的 CI 步骤“运行 Javascript 测试”?
jasmine - JavaScript:在 JSTest.NET 中运行 Jasmine
我想结合 JSTest.NET 运行 Jasmine 单元测试,以便我可以使用 MSTest 在 VisualStudio 中执行我的测试运行。这对我来说是强制性的,因为我们的团队构建系统 (TFS) 工作流程不能扩展/更改(出于组织原因)以使用 Jasmine 的 SpecRunner.html 或其他方式来运行 Jasmine 测试。
因此,JSTest.NET 似乎对我有用,因为它是 javascript 和 MSTest 之间的桥梁。
因此,我的第一步是编写这个 MSTest:
执行此测试时,我收到“JScript 中的运行时错误:'window' is undefined”,这很明显,因为游戏中没有可以提供窗口对象的浏览器。
任何人都可以将我踢向正确的方向吗?
typescript - 如何在没有冲突的情况下将 Mocha 和 Jest 与 TypeScript 一起使用?
我正在尝试在一个项目上安装带有类型的 Mocha 和 Jest。我们使用严格的类型检查,所以我得到与冲突的全局类型相关的错误。
我试图创建模棱两可的模块声明,只在types
at中定义 Mocha tsconfig
。我一直在尝试删除 Jest 的声明——但这会有所帮助。禁用严格类型检查或库检查不是一个选项。
我希望它能正常工作,但却得到了下一个错误。
即使从 Jest 中删除所有类型也会给我这个错误: