【问题标题】:No files found in cypress test runner在 cypress 测试运行程序中找不到文件
【发布时间】:2021-05-23 16:56:47
【问题描述】:

这个奇怪的事情发生在我突然收到“在 cypress 测试运行程序中找不到文件”错误消息的地方。

但是文件在文件夹中,我已将其移至新文件夹并尝试运行它,但仍然收到错误消息。请对为什么会发生这种情况有任何想法或想法?

我也尝试在无头模式下运行它,但我收到了相同的错误消息。

谢谢。 @Nanker Phelge 请您对如何解决此问题有任何想法。谢谢

【问题讨论】:

  • cypress.json 中的配置是什么?

标签: javascript automation frameworks cypress build-automation


【解决方案1】:

默认情况下,如果您没有配置任何不同的内容,赛普拉斯会查找集成文件夹的所有子文件夹。

请看Configuration

文件夹/文件

Option Default
testFiles **/*.*

其中** 是 glob 模式的一部分,表示“查看所有子文件夹 - 查找所有文件类型”。

如果您配置了其他东西,那可能是导致它的原因,但如果没有条目,则cypress.json 不是原因。

否则,如果您有 *.spec.js*/*.js,这些将排除您的文件(因为没有 .spec.js 扩展名,而单个 * 将排除子文件夹。

说到排除,如果有一个ignoreTestFiles 配置条目(在cypress.json 中),这可能会导致问题。


我还想指出PageObjects 文件夹可能被视为测试并导致更多错误。

一种常见的模式是使用 .spec.js 扩展名命名所有具有测试的文件,例如 GTProject1.spec.js

cypress.json文件中,设置

testFiles: "**/*.spec.js"

这意味着在 /cypress/integration 文件夹和任何子文件夹中查找扩展名为 .spec.js 的文件。它将忽略您仅具有 .js 扩展名的 PageObject 文件。

然后您可以稍后重新排列文件夹,仍然可以看到所有测试。

【讨论】:

  • 如果testFilesis 没有在cypress.json 中声明,那么按照当前结构,Page Objects 文件夹也将被执行。
  • 但是是的,您的措辞是正确的,赛普拉斯确实检查了集成文件夹中的所有子文件夹,我已将其删除并更新了我的答案。
  • @Nanker Phelge 再次感谢。问题出在 cypress.json 中的 testFiles 上。一旦我将其更新为 */.* 它就可以工作了。
【解决方案2】:

你可以像这样执行测试 -

npx cypress run --spec=cypress/integration/GTProjects/*

或者,您可以将所有测试作为数组添加到testFiles 下的cypress.json 文件中,在这种情况下,您可以直接使用npx cypress run

"testFiles": [
  "GTProjects/GTProject1.js",
  "GTProjects/GTProject2.js",
  "GTProjects/GTProject3.js",
  "GTProjects/GTProject4.js",
  "GTProjects/GTProject5.js",
  "GTProjects/GTProject6.js",
  "GTProjects/GTProject7.js",
  "GTProjects/GTProject8.js",
  "GTProjects/GTProject9.js"
]

或者,您可以在cypress.json 中提供integrationFolder 路径,在这种情况下,您也可以使用npx cypress run 执行测试

"integrationFolder": "cypress/integration/GTProjects"

【讨论】:

    猜你喜欢
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    • 2019-11-25
    • 2011-05-07
    • 2022-08-23
    • 1970-01-01
    • 2022-01-09
    相关资源
    最近更新 更多