剧作家“没有发现测试。” 在 example.spec.ts 的简单副本上

use*_*181 11 javascript webautomation playwright

我刚刚安装了 playwright (v1.18.1) 来尝试一下 (Windows 11),我感觉有些不对劲。我可以正常运行 example.spec.ts 脚本,但如果我复制该文件然后尝试运行该副本,则会出现错误no tests found.

\n

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

\n

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

\n
C:\\playwright\\test\\tests>npx playwright test example.spec.ts\n\nRunning 25 tests using 1 worker\n\n  -  example.spec.ts:14:3 \xe2\x80\xba New Todo \xe2\x80\xba should allow me to add todo items\nTerminate batch job (Y/N)?\n\n  25 skipped\n
Run Code Online (Sandbox Code Playgroud)\n

[这样有效]然后创建一个副本来开始玩......

\n
C:\\playwright\\test\\tests>copy example.spec.ts test4.ts\n        1 file(s) copied.\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n
C:\\playwright\\test\\tests>npx playwright test test4.ts\n\n=================\n no tests found.\n=================\nnpm ERR! code 1\nnpm ERR! path C:\\playwright\\test\\tests\nnpm ERR! command failed\nnpm ERR! command C:\\WINDOWS\\system32\\cmd.exe /d /s /c playwright test test4.ts\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR!     C:\\Users\\xxxxx\\AppData\\Local\\npm-cache\\_logs\\2022-02-09T16_29_19_723Z-debug.log\n
Run Code Online (Sandbox Code Playgroud)\n

如果有帮助,日志会显示:

\n
C:\\playwright\\test\\tests>type C:\\Users\\xxxxx\\AppData\\Local\\npm-cache\\_logs\\2022-02-09T16_37_46_149Z-debug.log\n0 verbose cli [\n0 verbose cli   'C:\\\\Program Files\\\\nodejs\\\\node.exe',\n0 verbose cli   'C:\\\\Program Files\\\\nodejs\\\\node_modules\\\\npm\\\\bin\\\\npm-cli.js',\n0 verbose cli   'exec',\n0 verbose cli   '--',\n0 verbose cli   'playwright',\n0 verbose cli   '-version'\n0 verbose cli ]\n1 info using npm@7.0.15\n2 info using node@v15.4.0\n3 timing config:load:defaults Completed in 1ms\n4 timing config:load:file:C:\\Program Files\\nodejs\\node_modules\\npm\\npmrc Completed in 1ms\n5 timing config:load:builtin Completed in 2ms\n6 timing config:load:cli Completed in 1ms\n7 timing config:load:env Completed in 0ms\n8 timing config:load:file:C:\\playwright\\test\\.npmrc Completed in 0ms\n9 timing config:load:project Completed in 1ms\n10 timing config:load:file:C:\\Users\\xxxxx\\.npmrc Completed in 0ms\n11 timing config:load:user Completed in 0ms\n12 timing config:load:file:C:\\Users\\xxxxx\\AppData\\Roaming\\npm\\etc\\npmrc Completed in 0ms\n13 timing config:load:global Completed in 0ms\n14 timing config:load:cafile Completed in 0ms\n15 timing config:load:validate Completed in 1ms\n16 timing config:load:setUserAgent Completed in 0ms\n17 timing config:load:setEnvs Completed in 1ms\n18 timing config:load Completed in 7ms\n19 verbose npm-session c0bee43e8701d230\n20 timing npm:load Completed in 16ms\n21 timing command:exec Completed in 633ms\n22 verbose stack Error: command failed\n22 verbose stack     at ChildProcess.<anonymous> (C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\@npmcli\\promise-spawn\\index.js:64:27)\n22 verbose stack     at ChildProcess.emit (node:events:376:20)\n22 verbose stack     at maybeClose (node:internal/child_process:1063:16)\n22 verbose stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:295:5)\n23 verbose pkgid test@1.0.0\n24 verbose cwd C:\\playwright\\test\\tests\n25 verbose Windows_NT 10.0.22000\n26 verbose argv "C:\\\\Program Files\\\\nodejs\\\\node.exe" "C:\\\\Program Files\\\\nodejs\\\\node_modules\\\\npm\\\\bin\\\\npm-cli.js" "exec" "--" "playwright" "-version"\n27 verbose node v15.4.0\n28 verbose npm  v7.0.15\n29 error code 1\n30 error path C:\\playwright\\test\\tests\n31 error command failed\n32 error command C:\\WINDOWS\\system32\\cmd.exe /d /s /c playwright -version\n33 verbose exit 1\n
Run Code Online (Sandbox Code Playgroud)\n

当它只是有效的原件副本时,为什么会出现错误?

\n

har*_*ded 7

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

import { PlaywrightTestConfig, devices } from '@playwright/test';

const config: PlaywrightTestConfig = {
  testMatch: /.*\.js/,
};
export default config;
Run Code Online (Sandbox Code Playgroud)

请记住,它会尝试从文件夹中的任何帮助程序文件加载测试。我认为遵循testorspec约定是一件好事。


小智 5

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