在 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 测试的主要内容,如果未能解决你的问题,请参考以下文章