微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 cypress 测试运行程序中找不到文件

如何解决在 cypress 测试运行程序中找不到文件

这件奇怪的事情发生在我突然收到“在 cypress test runner 中找不到文件错误消息的地方。

enter image description here

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

enter image description here

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

enter image description here

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

解决方法

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

请参阅Configuration

文件夹/文件

选项 默认
测试文件 **/*.*

其中 ** 是 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 文件。

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

,

你可以像这样执行测试 -

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"
]

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

执行测试
"integrationFolder": "cypress/integration/GTProjects"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。