剧作家"未找到测试",在example.spec.ts的简单副本上



我刚刚安装了player(v1.18.1(来试用它(Windows 11(,我觉得有点不对劲。我可以很好地运行example.spec.ts脚本,但如果我复制该文件,然后尝试运行副本,则会出现no tests found.错误。

这些步骤看起来很基本。。。

首先测试运行C:\player\test\tests\example.spec.ts脚本。。。。

C:playwrighttesttests>npx playwright test example.spec.ts
Running 25 tests using 1 worker
-  example.spec.ts:14:3 › New Todo › should allow me to add todo items
Terminate batch job (Y/N)?
25 skipped

[这样做了]然后创建一个副本开始播放。。。

C:playwrighttesttests>copy example.spec.ts test4.ts
1 file(s) copied.

但在编辑test4.ts之前,我检查它是否会运行。。。

C:playwrighttesttests>npx playwright test test4.ts
=================
no tests found.
=================
npm ERR! code 1
npm ERR! path C:playwrighttesttests
npm ERR! command failed
npm ERR! command C:WINDOWSsystem32cmd.exe /d /s /c playwright test test4.ts
npm ERR! A complete log of this run can be found in:
npm ERR!     C:UsersxxxxxAppDataLocalnpm-cache_logs2022-02-09T16_29_19_723Z-debug.log

如果它有助于日志读取:

C:playwrighttesttests>type C:UsersxxxxxAppDataLocalnpm-cache_logs2022-02-09T16_37_46_149Z-debug.log
0 verbose cli [
0 verbose cli   'C:\Program Files\nodejs\node.exe',
0 verbose cli   'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js',
0 verbose cli   'exec',
0 verbose cli   '--',
0 verbose cli   'playwright',
0 verbose cli   '-version'
0 verbose cli ]
1 info using npm@7.0.15
2 info using node@v15.4.0
3 timing config:load:defaults Completed in 1ms
4 timing config:load:file:C:Program Filesnodejsnode_modulesnpmnpmrc Completed in 1ms
5 timing config:load:builtin Completed in 2ms
6 timing config:load:cli Completed in 1ms
7 timing config:load:env Completed in 0ms
8 timing config:load:file:C:playwrighttest.npmrc Completed in 0ms
9 timing config:load:project Completed in 1ms
10 timing config:load:file:C:Usersxxxxx.npmrc Completed in 0ms
11 timing config:load:user Completed in 0ms
12 timing config:load:file:C:UsersxxxxxAppDataRoamingnpmetcnpmrc Completed in 0ms
13 timing config:load:global Completed in 0ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 1ms
16 timing config:load:setUserAgent Completed in 0ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 7ms
19 verbose npm-session c0bee43e8701d230
20 timing npm:load Completed in 16ms
21 timing command:exec Completed in 633ms
22 verbose stack Error: command failed
22 verbose stack     at ChildProcess.<anonymous> (C:Program Filesnodejsnode_modulesnpmnode_modules@npmclipromise-spawnindex.js:64:27)
22 verbose stack     at ChildProcess.emit (node:events:376:20)
22 verbose stack     at maybeClose (node:internal/child_process:1063:16)
22 verbose stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:295:5)
23 verbose pkgid test@1.0.0
24 verbose cwd C:playwrighttesttests
25 verbose Windows_NT 10.0.22000
26 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "exec" "--" "playwright" "-version"
27 verbose node v15.4.0
28 verbose npm  v7.0.15
29 error code 1
30 error path C:playwrighttesttests
31 error command failed
32 error command C:WINDOWSsystem32cmd.exe /d /s /c playwright -version
33 verbose exit 1

当它只是一个有效的原件的副本时,为什么它会给我一个错误?

您可以在剧作家测试配置中设置自己的测试匹配正则表达式
默认情况下,Playwright Test会查找与.*(test|spec).(js|ts|mjs)匹配的文件,但您可以通过以下操作运行任何js文件:

import { PlaywrightTestConfig, devices } from '@playwright/test';
const config: PlaywrightTestConfig = {
testMatch: /.*.js/,
};
export default config;

请记住,它会尝试从文件夹中的任何辅助文件加载测试。我认为遵循testspec惯例是一件好事。

甚至我也面临这个问题。在windows笔记本电脑上从vscode启动终端后,我使用了前斜杠,它起了作用。npx剧作家测试/tests/example.spec.js

我使用的是npm init playwright@latest和默认配置。

对我来说,解决方案只是查看我的测试的具体路径。

如果使用默认配置,则必须修改playwright.config.js

来自:testDir: './e2e',(默认配置(

收件人:testDir: './tests',(您的测试文件夹(

确保您没有添加"仅测试";

像那样";test.only("测试断言",async({page}(=>{〃

因为你的跑步者没有看到任何测试,除了这个测试

如果你试图运行一个测试;。仅";将运行

尝试在您的剧作家配置文件中使用此选项

testMatch:["**/*.js"],

test.describe和test((的描述必须不同。

您的原始文件具有spec.ts复制的文件是.ts将复制的文件重命名为test4.spec.ts,或在配置文件中添加适当的testmatch。

示例:文件名:。。。spec.js或ts配置文件:testMatch:"*.spec.js",(或ts(

还不确定为什么必须用spec对文件进行后期修复。可能是配置要求。

我的问题是文件在剧作家文件夹中的一个文件夹中,这修复了它(在typescript中(:

const config: PlaywrightTestConfig = {
testDir: "../../playwright",
// more configs
};
export default config;

我想你我也可以写testDir: "../.",

在我更新testDir:'时运行良好/在playwright.config.js中测试。理想情况下,这应该是创建测试的确切文件夹名称。

最新更新