Instrumenting bundled code with TypeScript

Đang mở
#518 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
cypress, typescript
Lĩnh vực
testing-qa

Hướng nghiên cứu

Tái hiện lỗi bằng DEBUG=code-coverage yarn cypress open và thiết lập @cypress/code-coverage/use-babelrc. Bắt đầu với các tệp TypeScript được nêu trong log, bao gồm cypress/support/index.ts và cypress/tests/api/handle.spec.ts, sau đó kiểm tra cấu hình NYC được báo cáo. Hoàn tất có nghĩa là các bài kiểm thử TypeScript của Cypress được instrument và coverage của chúng được включ cho lib/api/handle.ts.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Logs and screenshots
Please provide debug logs by running Cypress from the terminal with DEBUG=code-coverage environment variable set, see the Debugging section of the README file.

nchiang@garchomp ~/repos/thavma (master) $ DEBUG=code-coverage yarn cypress open
  code-coverage combined NYC options { 'report-dir': './coverage', reporter: [ 'html', 'json' ], extension: [ '.js', '.cjs', '.mjs', '.ts', '.tsx', '.jsx' ], excludeAfterRemap: false, all: true, extends: '@istanbuljs/nyc-config-typescript', include: [ 'pages/**', 'components/**', 'lib/**' ], exclude: [ 'pages/api/coverage.ts', '**/*.d.ts' ] } +0ms
Loaded env from /Users/nchiang/repos/thavma/.env.test.local
Loaded env from /Users/nchiang/repos/thavma/.env.local
Loaded env from /Users/nchiang/repos/thavma/.env.test
Loaded env from /Users/nchiang/repos/thavma/.env
GET /__/ 200 17.288 ms - -
GET /__cypress/runner/cypress_runner.css 200 18.783 ms - -
GET /__cypress/runner/cypress_runner.js 200 4.865 ms - -
GET /__cypress/runner/favicon.ico 200 1.298 ms - -
GET /__cypress/runner/fonts/fa-solid-900.woff2 200 1.584 ms - 76120
GET /__cypress/runner/fonts/mulish-latin-400-normal.woff2 200 1.354 ms - 31176
GET /__cypress/runner/fonts/mulish-latin-500-normal.woff2 200 1.916 ms - 31176
GET /__cypress/runner/fonts/open-sans-latin-400-normal.woff2 200 15.233 ms - 14380
GET /__cypress/iframes/__all 200 20.262 ms - -
Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/support/index.ts
GET /__cypress/tests?p=cypress/support/index.ts 200 26.500 ms - 674
Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/tests/api/handle.spec.ts
Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/tests/api/users.spec.ts
Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/tests/index.spec.ts
Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/tests/join.spec.ts
GET /__cypress/tests?p=cypress/tests/api/handle.spec.ts 200 22.968 ms - 682
GET /__cypress/tests?p=cypress/tests/api/users.spec.ts 200 21.953 ms - 681
GET /__cypress/tests?p=cypress/tests/index.spec.ts 200 20.687 ms - 677
GET /__cypress/tests?p=cypress/tests/join.spec.ts 200 20.259 ms - 676

Versions

  • What is this plugin's version? If this is NOT the latest released version can you try the latest version, please? 3.9.11
  • 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.
  • What is Cypress version?
Cypress package version: 8.7.0
Cypress binary version: 8.7.0
Electron version: 14.1.0
Bundled Node version: 14.17.0
  • What is your operating system? MacOS Big Sur
  • What is the shell? Bash
  • What is the Node version? 16.13.0
  • What is the NPM version? 8.1.0
  • How do you instrument your application? Cypress does not instrument web application code, so you need to do it yourself. Yes! But I can't seem to instrument the bundled Cypress test code.
  • 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?
  • Is there .nyc_output folder? Is there .nyc_output/out.json file. Is it empty? Can you paste at least part of it so we can see the keys and file paths?
  • Do you have any custom NYC settings in package.json (nyc object) or in other NYC config files
// nyc.config.js
/**
 * Code coverage configuration for use with Cypress and Typescript.
 * @see {@link https://docs.cypress.io/guides/tooling/code-coverage.html}
 * @see {@link https://github.com/istanbuljs/nyc#selecting-files-for-coverage}
 */
module.exports = {
  all: true,
  extends: '@istanbuljs/nyc-config-typescript',
  reporter: ['html', 'json'],
  include: ['pages/**', 'components/**', 'lib/**'],
  exclude: ['pages/api/coverage.ts', '**/*.d.ts'],
};
  • Do you run Cypress tests in a Docker container? No.

Describe the bug
A clear and concise description of what the bug is.

I've been trying to follow your guide on achieving 100% code coverage by combining unit tests with E2E integration tests. But, all my application code is written in TypeScript and when I use the @cypress/code-coverage/use-babelrc package, I get the following error:

Error running @cypress/browserify-preprocessor:

You are attempting to preprocess a TypeScript file, but do not have TypeScript configured. Pass the 'typescript' option to enable TypeScript support.

The file: /Users/nchiang/repos/thavma/cypress/support/index.ts

Link to the repo
Bugs with a reproducible example, like an open source repo showing the bug, are the most likely to be resolved.

thavmaclub/thavma illustrates this issue; the test coverage reports that lib/api/handle.ts wasn't covered entirely, but I have unit tests just for that. However, those unit tests aren't included in the test coverage because they're not instrumented because of this bug.

Example
See #217 that is an excellent bug report example

Ngôn ngữ chính
TypeScript
Star
440
Fork
114
Merge trung bình
42 phút
Pull request đã merge (30 ngày)
19

Chuẩn bị môi trường

  • Không có Dockerfile hay tệp Docker Compose
  • Có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của cypress-io/code-coverage

Tất cả issue của cypress-io/code-coverage

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.