CypressError: `cy.task('coverageReport')` failed - 'path' must be a string or Uint8Array

オープン
#582 コメント 7 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@lmiller1990 がすでに取り組んでいます。

2023年7月12日 から。

評価

この issue はまだ評価されていません。

説明

Logs and screenshots

DEBUG=code-coverage yarn cypress:run

App test suite
  code-coverage parsed sent coverage +0ms
  code-coverage wrote coverage file /Volumes/Projects/work/example/.nyc_output/out.json +9ms
  code-coverage NYC file /Volumes/Projects/work/example/.nyc_output/out.json has 4 key(s) +4s
  code-coverage 1 key /Volumes/Projects/work/example/commonjsHelpers.js file path /Volumes/Projects/work/example/commonjsHelpers.js +0ms
  code-coverage 2 key /Volumes/Projects/work/example/src/routes/App.tsx file path /Volumes/Projects/work/example/src/routes/App.tsx +0ms
  code-coverage 3 key /Volumes/Projects/work/example/src/assets/styles/index.ts file path /Volumes/Projects/work/example/src/assets/styles/index.ts +0ms
  code-coverage in file /Volumes/Projects/work/example/.nyc_output/out.json all files are not found? false +4ms
  code-coverage NYC file /Volumes/Projects/work/example/.nyc_output/out.json has 4 key(s) +1ms
  code-coverage ⚠️ cannot find file /Volumes/Projects/work/example/commonjsHelpers.js with hash 9651d8954bbfc1d463a64b666e5bd9644ac85cc1 +1ms
  code-coverage calling NYC reporter with options { 'report-dir': '/Volumes/Projects/work/example/coverage', reporter: [ 'lcov', 'clover', 'json', 'json-summary' ], extension: [ '.js', '.cjs', '.mjs', '.ts', '.tsx', '.jsx' ], excludeAfterRemap: false, 'temp-dir': '/Volumes/Projects/work/example/.nyc_output', tempDir: '/Volumes/Projects/work/example/.nyc_output', reportDir: '/Volumes/Projects/work/example/coverage' } +58ms
  code-coverage current working directory is /Volumes/Projects/work/example +2ms
    1) "after all" hook: generateReport for "should check app is rendering correctly"


  0 passing (679ms)
  1 failing

  1) App test suite
       "after all" hook: generateReport for "should check app is rendering correctly":
     CypressError: `cy.task('coverageReport')` failed with the following error:

> The argument 'path' must be a string or Uint8Array without null bytes. Received '/Volumes/Projects/work/example/coverage/lcov-report/example/\x00commonjsHelpers.js.html'

https://on.cypress.io/api/task

Because this error occurred during a `after all` hook we are skipping all of the remaining tests.

Although you have test retries enabled, we do not retry tests when `before all` or `after all` hooks fail

Versions

  • What is this plugin's version? If this is NOT the latest released version can you try the latest version, please?
    "@cypress/code-coverage": "3.10.0"

  • If the plugin worked before in version X, but stopped after upgrading to version Y, please try the released versions between X and Y to see where the breaking change was.
    Never tried this with another version before

  • What is Cypress version?
    10.3.0

  • What is your operating system?
    OSX 12.1

  • What is the shell?
    bash

  • What is the Node version?
    v16.14.0

  • What is the NPM version?
    8.3.1

  • How do you instrument your application? Cypress does not instrument web application code, so you need to do it yourself.

vite.config.js

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { visualizer } from 'rollup-plugin-visualizer';

/**
 * Vite configuration
 *
 * https://vitejs.dev/config/
 */
export default defineConfig({
  plugins: [
    react({
      // Exclude storybook stories
      exclude: /\.stories\.tsx?$/,
      babel: {
        plugins: ['istanbul'],
      },
    }),
    visualizer({
      filename: '.source-map-stats.html',
      sourcemap: true,
    }),
  ],
  base: '/',
  build: {
    sourcemap: true,
  },
  css: {
    preprocessorOptions: {
      less: {
        javascriptEnabled: true,
      },
    },
  },
});

cypress.config.js

const { defineConfig } = require('cypress');

module.exports = defineConfig({
  e2e: {
    baseUrl: 'http://localhost:4242',
    // Test files
    specPattern: 'cypress/e2e/**/*.spec.ts',
    // Prevent flaky tests
    retries: {
      runMode: 2,
      openMode: 0,
    },
    env: {
      appPath: '/',
    },
    setupNodeEvents(on, config) {
      require('@cypress/code-coverage/task')(on, config);
      // include any other plugin code...

      // It's IMPORTANT to return the config object
      // with any changed environment variables
      return config;
    },
  },
});
  • When running tests, if you open the web application in regular browser, and open DevTools, do you see window.__coverage__ object? Can you paste a screenshot?
Screenshot 2022-07-15 at 12 32 47

Describe the bug
Terminal 1:

  1. yarn
  2. yarn build
  3. npx serve -s dist -p 4242

Terminal 2:

  1. DEBUG=code-coverage yarn cypress:run

⇒ Cypress Error appear

Link to the repo
https://github.com/xrutayisire/cypress-react-typescript-vite-example

主要言語
TypeScript
スター
440
フォーク
114
平均マージ
42分
マージ済み PR(30日)
19

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

cypress-io/code-coverage のほかの issue

cypress-io/code-coverage の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。