在 IDE 或命令行中运行 E2E 测试

Posted

技术标签:

【中文标题】在 IDE 或命令行中运行 E2E 测试【英文标题】:Run E2E tests in IDE or command line 【发布时间】:2019-12-25 15:32:12 【问题描述】:

我正在使用 Stencil.js 创建一个 Web 组件库,并且我非常依赖 E2E 测试。由于它们相当慢,因此在开发新组件时运行整个测试套件(使用 Stencil.js CLI)变得越来越麻烦。

但是,我无法在我的 IDE (IntelliJ IDEA) 中或通过命令行运行单个测试。不过,它非常适合单元测试。

我的 Jest 配置如下所示:

module.exports = 
  "roots": [
    "<rootDir>/src"
  ],
  "preset": "@stencil/core/testing"

当我尝试在单个文件中运行测试时 (jest --config jest.config.js --testPathPattern src/components/button/button.e2e.ts$)

失败了,因为

newE2EPage() 仅可用于 E2E 测试,并使用 --e2e cmd 行标志运行。

newE2EPage() 带有 Stencil.js,我不知道 Stencil.js 的 CLI 在后台做了什么。此外,我克隆了 Stencil.js 存储库,只是想看看它是否可以与他们的 E2E 测试 (https://github.com/ionic-team/stencil/tree/master/test/end-to-end) 一起工作,但它也不起作用。

知道如何配置 Jest 以便它能够从命令行运行 Stencil.js-E2E 测试吗?

【问题讨论】:

【参考方案1】:

我不是 VS Code 用户,但与 IntelliJ 相比,有一个 launch.json 供 VSC 运行单个测试:https://github.com/ionic-team/stencil-site/pull/480

【讨论】:

【参考方案2】:

我也有同样的问题。 IntelliJ 和“运行”单个“它”不起作用。

newE2EPage() is only available from E2E tests, and ran with the --e2e cmd line flag.

当我运行“npm run test”时,一切都会正常工作。不同之处在于 npm run stencil 之前只有 jest 不起作用。

这是模板笑话目录https://github.com/ionic-team/stencil/tree/master/src/testing/jest 以及配置。

我在这里 https://stenciljs.com/docs/testing-overview 找到了一个 VS-CODE 运行笑话代码,但没有 Intellij 设置。

我正在运行以获取当前文件的路径以通过 npm 运行 stencil 和 e2e 文件的路径。但我找不到运行配置的正确变量。

我希望我们能尽快解决这个问题。

干杯

【讨论】:

【参考方案3】:

--e2e 标志用于 package.json 中的 npm 脚本。要开始 e2e 测试,您可以在 package.json 中添加:

"scripts": 
  "test:e2e": "stencil test --e2e"

然后运行npm run test:e2e。对于特定文件,您可以像这样在末尾添加它:

npm run test:e2e src/components/button/button.e2e.ts

有关详细信息,请参阅 StencilJS 文档:https://stenciljs.com/docs/end-to-end-testing

【讨论】:

以上是关于在 IDE 或命令行中运行 E2E 测试的主要内容,如果未能解决你的问题,请参考以下文章

在命令行中制作一个java包

如何在命令行中运行 ZAP 扫描?

Jenkins Mstest 插件在尝试运行多个测试类别时去除命令行中的双引号

在windows命令行中如何运行c程序的文本

如何在命令行中从脚本运行函数?

我可以在 Windows 命令行中测试 tesseract ocr 吗?