QUnit 服务
WebdriverIO (wdio) 服务,用于运行基于浏览器的 QUnit 测试,并动态将它们转换为 wdio
测试套件。
替代 Karma
对于那些使用 Karma JS 来运行 QUnit
测试(karma-qunit,karma-ui5 或任何其他 Karma 和 QUnit 的组合)的用户,QUnit Service
是一个即插即用的替代品。Karma 已弃用,人们应该转向现代化的替代方案!
如果你想保持 QUnit 测试原样,不需要重写和重构,QUnit Service
就是你所需要的全部。它在浏览器中运行你的 QUnit HTML 文件,并以 wdio
格式捕获所有结果。
因此,开发人员可以将 QUnit Service
与 wdio
生态系统中的所有其他功能一起使用。
想要录制测试运行过程吗?也许需要截图或保存为 PDF?检查代码覆盖率?以 JUnit 格式保存测试结果?尽管去做,QUnit Service
不会阻碍你。
安装
配置 WebdriverIO
后,在你的 package.json
文件中安装 wdio-qunit-service
作为开发依赖。
npm install wdio-qunit-service --save-dev
如果你还没有配置 WebdriverIO
,请查看官方文档。
配置
要使用 QUnit Service
,你只需要将其添加到 wdio.conf.js
文件中的 services
列表中。wdio 文档包含了所有与配置文件相关的信息:
// wdio.conf.js
export const config = {
// ...
services: ["qunit"],
// ...
};
使用方法
在执行测试前,确保 Web 服务器已启动并运行。wdio
不会启动 Web 服务器。
使用 .spec 或 .test 文件
在 WebdriverIO 测试中,你需要导航到 QUnit HTML 测试页面,然后调用 browser.getQUnitResults()
。
describe("QUnit test page", () => {
it("should pass QUnit tests", async () => {
await browser.url("http://localhost:8080/test/unit/unitTests.qunit.html");
await browser.getQUnitResults();
});
});
建议每个 QUnit HTML 测试页面使用一个 WebdriverIO 测试文件。这确保测试将以并行和完全隔离的方式运行。
仅配置,不使用 .spec 或 .test 文件
如果你不想创建 spec/test 文件,你可以将 QUnit HTML 文件列表传递给配置,测试将自动生成。
// wdio.conf.js
export const config = {
// ...
baseUrl: 'http://localhost:8080',
services: [
['qunit', {
paths: [
'unit-tests.html',
'integration-tests.html',
'test/qunit.html'
]
}],
// ...
};
测试结果
测试结果可能看起来像:
示例
查看示例文件夹,了解使用 javascript
、typescript
等的样例。
在 SAP Fiori / UI5 应用中的使用
使用众所周知的 openui5-sample-app 的直接示例:
-
创建配置文件:wdio.conf.js
-
告诉
wdio
在哪里找到 QUnit 测试文件: -
- 将 QUnit 文件包含到服务配置中
-
- 或者
-
在执行测试前,Web 服务器必须运行
-
运行 $
wdio run webapp/test/wdio.conf.js
作者
Mauricio Lauffer
许可证
该项目基于 MIT 许可证 - 详情请参阅 LICENSE 文件。