From d47535c5319de1ac4e99d075c508646812cc8031 Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Mon, 13 Jun 2022 10:57:22 +0200 Subject: [PATCH 1/6] feat: add --coverage flag --- bin/test-storybook.js | 17 +++++++++++++++++ playwright/jest-setup.js | 2 ++ src/config/jest-playwright.ts | 4 +++- src/playwright/transformPlaywright.ts | 4 ++++ src/util/getCliOptions.ts | 2 ++ src/util/getParsedCliOptions.ts | 4 ++++ 6 files changed, 32 insertions(+), 1 deletion(-) diff --git a/bin/test-storybook.js b/bin/test-storybook.js index 78e4b1e2..10c800c9 100755 --- a/bin/test-storybook.js +++ b/bin/test-storybook.js @@ -2,6 +2,7 @@ //@ts-check 'use strict'; +const { execSync } = require('child_process'); const fetch = require('node-fetch'); const isLocalhostIp = require('is-localhost-ip'); const fs = require('fs'); @@ -87,6 +88,14 @@ async function executeJestPlaywright(args) { await jest.run(argv); } +async function printCoverageReport() { + // --skip-full in case we only want to show not fully covered code + // --check-coverage if we want to break if coverage reaches certain threshold + // idea: pass configuration object for thresholds https://www.npmjs.com/package/nyc#coverage-thresholds + execSync('npx nyc report ', { stdio: 'inherit' }) + log('For a better, interactive summary of coverage, run: \nnpx nyc report --reporter=lcov\n') +} + async function checkStorybook(url) { try { const res = await fetch(url, { method: 'HEAD' }); @@ -162,6 +171,10 @@ const main = async () => { process.env.TARGET_URL = targetURL; + if (runnerOptions.coverage) { + process.env.COLLECT_COVERAGE = 'true'; + } + if (process.env.REFERENCE_URL) { process.env.REFERENCE_URL = sanitizeURL(process.env.REFERENCE_URL); } @@ -198,6 +211,10 @@ const main = async () => { } await executeJestPlaywright(jestOptions); + + if (process.env.COLLECT_COVERAGE === 'true') { + printCoverageReport(); + } }; main().catch((e) => log(e)); diff --git a/playwright/jest-setup.js b/playwright/jest-setup.js index 3e59b20f..9e2e27b8 100644 --- a/playwright/jest-setup.js +++ b/playwright/jest-setup.js @@ -12,3 +12,5 @@ if (testRunnerConfig) { setPostRender(testRunnerConfig.postRender); } } + +global.__sbCollectCoverage = process.env.COLLECT_COVERAGE === 'true' \ No newline at end of file diff --git a/src/config/jest-playwright.ts b/src/config/jest-playwright.ts index e2dad3b6..893d0fe0 100644 --- a/src/config/jest-playwright.ts +++ b/src/config/jest-playwright.ts @@ -1,5 +1,6 @@ export const getJestConfig = () => { - const { TEST_ROOT, TEST_MATCH, STORYBOOK_STORIES_PATTERN, TEST_BROWSERS } = process.env; + const { TEST_ROOT, TEST_MATCH, STORYBOOK_STORIES_PATTERN, TEST_BROWSERS, COLLECT_COVERAGE } = + process.env; let config = { rootDir: process.cwd(), @@ -20,6 +21,7 @@ export const getJestConfig = () => { browsers: TEST_BROWSERS.split(',') .map((p) => p.trim().toLowerCase()) .filter(Boolean), + collectCoverage: COLLECT_COVERAGE === 'true', }, }, watchPlugins: [ diff --git a/src/playwright/transformPlaywright.ts b/src/playwright/transformPlaywright.ts index ada10acc..c04f6537 100644 --- a/src/playwright/transformPlaywright.ts +++ b/src/playwright/transformPlaywright.ts @@ -33,6 +33,10 @@ export const testPrefixer = template( await global.__sbPostRender(page, context); } + if(global.__sbCollectCoverage) { + await jestPlaywright.saveCoverage(page); + } + return result; }; diff --git a/src/util/getCliOptions.ts b/src/util/getCliOptions.ts index 1cb4bffc..e8105234 100644 --- a/src/util/getCliOptions.ts +++ b/src/util/getCliOptions.ts @@ -7,6 +7,7 @@ type CliOptions = { url?: string; configDir?: string; eject?: boolean; + coverage?: boolean; browsers?: BrowserType | BrowserType[]; }; jestOptions: string[]; @@ -20,6 +21,7 @@ const STORYBOOK_RUNNER_COMMANDS: StorybookRunnerCommand[] = [ 'browsers', 'eject', 'url', + 'coverage', ]; export const getCliOptions = () => { diff --git a/src/util/getParsedCliOptions.ts b/src/util/getParsedCliOptions.ts index 3bd3549b..56792768 100644 --- a/src/util/getParsedCliOptions.ts +++ b/src/util/getParsedCliOptions.ts @@ -34,6 +34,10 @@ export const getParsedCliOptions = () => { '-u, --updateSnapshot', 'Use this flag to re-record every snapshot that fails during this test run' ) + .option( + '--coverage', + 'Indicates that test coverage information should be collected and reported in the output' + ) .option( '--eject', 'Creates a local configuration file to override defaults of the test-runner. Use it only if you want to have better control over the runner configurations' From 9208fdc4109f072cc152becc7be5c003f63c15b3 Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Mon, 13 Jun 2022 10:57:35 +0200 Subject: [PATCH 2/6] chore(example): add coverage instrumentation with istanbul --- .gitignore | 4 +++- .storybook/main.js | 16 ++++++++++++++++ package.json | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d92e0ab1..46710295 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,6 @@ build-storybook.log .env .cache stories/atoms/StressTest.stories.js -yarn-error.log \ No newline at end of file +yarn-error.log +.nyc_output +coverage \ No newline at end of file diff --git a/.storybook/main.js b/.storybook/main.js index 7af3ab1d..8cad3b67 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -37,6 +37,22 @@ module.exports = { storyStoreV7: process.env.STORY_STORE_V7 ? true : false, buildStoriesJson: true, }, + babel: async (options) => ({ + ...options, + plugins: [ + ...options.plugins, + [ + 'istanbul', + { + include: ['stories/**'], + exclude: [ + '**/*.d.ts', + '**/*{.,-}{spec,stories,types}.{js,jsx,ts,tsx}', + ], + }, + ], + ], + }), core: { disableTelemetry: true } diff --git a/package.json b/package.json index 46d0f6ca..796669ca 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "auto": "^10.3.0", "babel-jest": "^27.0.6", "babel-loader": "^8.1.0", + "babel-plugin-istanbul": "^6.1.1", "concurrently": "^7.0.0", "jest": "^27.0.6", "jest-image-snapshot": "^4.5.1", From 7c0f294886d486ccca96caea820a6bdefbf8977c Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Mon, 13 Jun 2022 12:21:58 +0200 Subject: [PATCH 3/6] fix: ignore coverage folders in watch mode --- src/config/jest-playwright.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/config/jest-playwright.ts b/src/config/jest-playwright.ts index 893d0fe0..78583715 100644 --- a/src/config/jest-playwright.ts +++ b/src/config/jest-playwright.ts @@ -28,6 +28,7 @@ export const getJestConfig = () => { require.resolve('jest-watch-typeahead/filename'), require.resolve('jest-watch-typeahead/testname'), ], + watchPathIgnorePatterns: ['coverage', '.nyc_output', '.cache'], }; if (TEST_MATCH) { From 143c66da1ce12e56a2c61c3b09efeab2a1ca1e86 Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Mon, 13 Jun 2022 12:31:25 +0200 Subject: [PATCH 4/6] docs: document coverage support --- .github/assets/coverage-report-html.png | Bin 0 -> 69481 bytes .github/assets/coverage-result.png | Bin 0 -> 51307 bytes .storybook/main.js | 40 ++++++------ README.md | 79 +++++++++++++++++++++++- bin/test-storybook.js | 2 +- 5 files changed, 98 insertions(+), 23 deletions(-) create mode 100644 .github/assets/coverage-report-html.png create mode 100644 .github/assets/coverage-result.png diff --git a/.github/assets/coverage-report-html.png b/.github/assets/coverage-report-html.png new file mode 100644 index 0000000000000000000000000000000000000000..c1e7fa5e28444395f7b936fb441b04a13c00d8fd GIT binary patch literal 69481 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 G=zjs;&wY;o literal 0 HcmV?d00001 diff --git a/.storybook/main.js b/.storybook/main.js index 8cad3b67..2b6c85c8 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -21,11 +21,11 @@ if (process.env.STRESS_TEST) { const addons = [ process.env.WITHOUT_DOCS ? { - name: '@storybook/addon-essentials', - options: { - docs: false, - }, - } + name: '@storybook/addon-essentials', + options: { + docs: false, + }, + } : '@storybook/addon-essentials', '@storybook/addon-interactions', ]; @@ -37,22 +37,20 @@ module.exports = { storyStoreV7: process.env.STORY_STORE_V7 ? true : false, buildStoriesJson: true, }, - babel: async (options) => ({ - ...options, - plugins: [ - ...options.plugins, - [ - 'istanbul', - { - include: ['stories/**'], - exclude: [ - '**/*.d.ts', - '**/*{.,-}{spec,stories,types}.{js,jsx,ts,tsx}', - ], - }, - ], - ], - }), + babel: async (options) => { + options.plugins.push([ + 'istanbul', + { + include: ['stories/**'], + exclude: [ + '**/*.d.ts', + '**/*{.,-}{spec,stories,types}.{js,jsx,ts,tsx}', + ], + }, + ]) + + return options + }, core: { disableTelemetry: true } diff --git a/README.md b/README.md index d689dccd..8e51afc8 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,18 @@ Read the announcement: [Interaction Testing with Storybook](https://storybook.js - [Running in CI](#running-in-ci) - [1. Running against deployed Storybooks on Github Actions deployment](#1-running-against-deployed-storybooks-on-github-actions-deployment) - [2. Running against locally built Storybooks in CI](#2-running-against-locally-built-storybooks-in-ci) +- [Setting up code coverage](#setting-up-code-coverage) + - [Instrument the code](#instrument-the-code) + - [Run tests with `--coverage` flag](#run-tests-with---coverage-flag) - [Experimental test hook API](#experimental-test-hook-api) - [Image snapshot recipe](#image-snapshot-recipe) - [Render lifecycle](#render-lifecycle) - [Troubleshooting](#troubleshooting) + - [Errors with Jest 28](#errors-with-jest-28) + - [The error output in the CLI is too short](#the-error-output-in-the-cli-is-too-short) - [The test runner seems flaky and keeps timing out](#the-test-runner-seems-flaky-and-keeps-timing-out) + - [The test runner reports "No tests found" running on a Windows CI](#the-test-runner-reports-"no-tests-found"-running-on-a-windows-ci) + - [The test runner does not show reports in watch mode](#the-test-runner-does-not-show-reports-in-watch-mode) - [Adding the test runner to other CI environments](#adding-the-test-runner-to-other-ci-environments) - [Future work](#future-work) @@ -33,6 +40,7 @@ Read the announcement: [Interaction Testing with Storybook](https://storybook.js - 🐛 Debug them visually and interactively in a live browser with [addon-interactions](https://storybook.js.org/docs/react/essentials/interactions) - 🎭 Powered by [Jest](https://jestjs.io/) and [Playwright](https://playwright.dev/) - 👀 Watch mode, filters, and the conveniences you'd expect +- 📔 Code coverage reports ## Getting started @@ -111,6 +119,7 @@ Usage: test-storybook [options] | `--no-stories-json` | Disables stories json mode
`test-storybook --no-stories-json` | | `-c`, `--config-dir [dir-name]` | Directory where to load Storybook configurations from
`test-storybook -c .storybook` | | `--watch` | Run in watch mode
`test-storybook --watch` | +| `--coverage` | Indicates that test coverage information should be collected and reported in the output
`test-storybook --coverage` | | `--url` | Define the URL to run tests in. Useful for custom Storybook URLs
`test-storybook --url http://the-storybook-url-here.com` | | `--browsers` | Define browsers to run tests in. One or multiple of: chromium, firefox, webkit
`test-storybook --browsers firefox chromium` | | `--maxWorkers [amount]` | Specifies the maximum number of workers the worker-pool will spawn for running tests
`test-storybook --maxWorkers=2` | @@ -251,6 +260,71 @@ jobs: > **_NOTE:_** Building Storybook locally makes it simple to test Storybooks that could be available remotely, but are under authentication layers. If you also deploy your Storybooks somewhere (e.g. Chromatic, Vercel, etc.), the Storybook URL can still be useful with the test-runner. You can pass it to the `REFERENCE_URL` environment variable when running the test-storybook command, and if a story fails, the test-runner will provide a helpful message with the link to the story in your published Storybook instead. +## Setting up code coverage + +The test runner supports code coverage with the `--coverage` flag or `COLLECT_COVERAGE` environment variable. The pre-requisite is that your components are instrumented using [istanbul](https://istanbul.js.org/). + +### Instrument the code + +Given that your components' code runs in the context of a real browser, they have to be instrumented so that the test runner is able to collect coverage. In order to do so, you have to setup the instrumentation yourself. + +Install the istanbul babel plugin: + +```sh +yarn add -D babel-plugin-istanbul +``` + +Storybook allows code transpilation with babel out of the box by configuring the `babel` function in your `main.js`. Add the `istanbul` plugin: + +```js +// .storybook/main.js +module.exports = { + // ...rest of your code here + babel: async (options) => { + options.plugins.push([ + 'istanbul', + { + // provide include patterns if you like + include: ['src/components/**'], + // provide exclude patterns if you like + exclude: [ + '**/*.d.ts', + '**/*{.,-}{spec,stories,types}.{js,jsx,ts,tsx}', + ], + }, + ]); + + return options; + }, +}; +``` + +The babel plugin has default options that might suffice to your project, however if you want to know which options are taken into account you can check them [here](https://github.com/istanbuljs/babel-plugin-istanbul/blob/master/src/index.js#L82). + +### Run tests with --coverage flag + +After setting up instrumentation, run Storybook then run the test-runner with `--coverage`: + +```sh +yarn test-storybook --coverage +``` + +The test runner will report the results in the CLI and generate a `.nyc_output/coverage.json` file which can be used by `nyc`. + +![](.github/assets/coverage-result.png) + +Notice that it provides a message telling you that you can get a better, interactive summary of your code by running: + +``` +npx nyc report --reporter=lcov +``` + +This will generate a folder called `coverage`, containing an `index.html` file which can be explored and will show the coverage in detail: + +![](.github/assets/coverage-report-html.png) + +`nyc` is a dependency of the test runner so you will already have it in your project. In the example above, the `lcov` reporter was used, which generates an output compatible with tools like [Codecov](https://codecov.io/). However, you can configure it to generate different reports, and you can find more information [here](https://istanbul.js.org/docs/advanced/alternative-reporters/). + ## Experimental test hook API The test runner renders a story and executes its [play function](https://storybook.js.org/docs/react/writing-stories/play-function) if one exists. However, there are certain behaviors that are not possible to achieve via the play function, which executes in the browser. For example, if you want the test runner to take visual snapshots for you, this is something that is possible via Playwright/Jest, but must be executed in Node. @@ -409,6 +483,10 @@ env: TEMP: ${{ runner.temp }} ``` +#### The test runner does not show reports in watch mode + +Because the displaying of reports and the underlying Jest process are separate, the reports can't be show in watch mode. However, the `.nyc_output/coverage.json` file is being generated, and you can show the reports by running `npx nyc report` in a separate terminal. + #### Adding the test runner to other CI environments As the test runner is based on playwright, depending on your CI setup you might need to use specific docker images or other configuration. In that case, you can refer to the [Playwright CI docs](https://playwright.dev/docs/ci) for more information. @@ -417,5 +495,4 @@ As the test runner is based on playwright, depending on your CI setup you might Future plans involve adding support for the following features: -- 🧪 Custom test functions - 📄 Run addon reports diff --git a/bin/test-storybook.js b/bin/test-storybook.js index 10c800c9..46292a80 100755 --- a/bin/test-storybook.js +++ b/bin/test-storybook.js @@ -92,7 +92,7 @@ async function printCoverageReport() { // --skip-full in case we only want to show not fully covered code // --check-coverage if we want to break if coverage reaches certain threshold // idea: pass configuration object for thresholds https://www.npmjs.com/package/nyc#coverage-thresholds - execSync('npx nyc report ', { stdio: 'inherit' }) + execSync('npx nyc report', { stdio: 'inherit' }) log('For a better, interactive summary of coverage, run: \nnpx nyc report --reporter=lcov\n') } From d7cbf2123bcf1261969c1eacf3fd6ea654fca235 Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Mon, 13 Jun 2022 19:21:36 +0200 Subject: [PATCH 5/6] fix: prefix coverage environment variable with storybook --- README.md | 2 +- bin/test-storybook.js | 4 ++-- playwright/jest-setup.js | 2 +- src/config/jest-playwright.ts | 11 ++++++++--- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 8e51afc8..3b3fcd5c 100644 --- a/README.md +++ b/README.md @@ -262,7 +262,7 @@ jobs: ## Setting up code coverage -The test runner supports code coverage with the `--coverage` flag or `COLLECT_COVERAGE` environment variable. The pre-requisite is that your components are instrumented using [istanbul](https://istanbul.js.org/). +The test runner supports code coverage with the `--coverage` flag or `STORYBOOK_COLLECT_COVERAGE` environment variable. The pre-requisite is that your components are instrumented using [istanbul](https://istanbul.js.org/). ### Instrument the code diff --git a/bin/test-storybook.js b/bin/test-storybook.js index 46292a80..a514050e 100755 --- a/bin/test-storybook.js +++ b/bin/test-storybook.js @@ -172,7 +172,7 @@ const main = async () => { process.env.TARGET_URL = targetURL; if (runnerOptions.coverage) { - process.env.COLLECT_COVERAGE = 'true'; + process.env.STORYBOOK_COLLECT_COVERAGE = 'true'; } if (process.env.REFERENCE_URL) { @@ -212,7 +212,7 @@ const main = async () => { await executeJestPlaywright(jestOptions); - if (process.env.COLLECT_COVERAGE === 'true') { + if (process.env.STORYBOOK_COLLECT_COVERAGE === 'true') { printCoverageReport(); } }; diff --git a/playwright/jest-setup.js b/playwright/jest-setup.js index 9e2e27b8..9530720a 100644 --- a/playwright/jest-setup.js +++ b/playwright/jest-setup.js @@ -13,4 +13,4 @@ if (testRunnerConfig) { } } -global.__sbCollectCoverage = process.env.COLLECT_COVERAGE === 'true' \ No newline at end of file +global.__sbCollectCoverage = process.env.STORYBOOK_COLLECT_COVERAGE === 'true' \ No newline at end of file diff --git a/src/config/jest-playwright.ts b/src/config/jest-playwright.ts index 78583715..704e1846 100644 --- a/src/config/jest-playwright.ts +++ b/src/config/jest-playwright.ts @@ -1,6 +1,11 @@ export const getJestConfig = () => { - const { TEST_ROOT, TEST_MATCH, STORYBOOK_STORIES_PATTERN, TEST_BROWSERS, COLLECT_COVERAGE } = - process.env; + const { + TEST_ROOT, + TEST_MATCH, + STORYBOOK_STORIES_PATTERN, + TEST_BROWSERS, + STORYBOOK_COLLECT_COVERAGE, + } = process.env; let config = { rootDir: process.cwd(), @@ -21,7 +26,7 @@ export const getJestConfig = () => { browsers: TEST_BROWSERS.split(',') .map((p) => p.trim().toLowerCase()) .filter(Boolean), - collectCoverage: COLLECT_COVERAGE === 'true', + collectCoverage: STORYBOOK_COLLECT_COVERAGE === 'true', }, }, watchPlugins: [ From 86b6b431fc339a3a6ff4e3efa52c12d6ebd5df20 Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Mon, 13 Jun 2022 19:40:24 +0200 Subject: [PATCH 6/6] update snapshots --- src/playwright/transformPlaywright.test.ts | 12 ++++++++++++ src/playwright/transformPlaywrightJson.test.ts | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/playwright/transformPlaywright.test.ts b/src/playwright/transformPlaywright.test.ts index 59aa0406..75c1d7fb 100644 --- a/src/playwright/transformPlaywright.test.ts +++ b/src/playwright/transformPlaywright.test.ts @@ -88,6 +88,10 @@ describe('Playwright', () => { await global.__sbPostRender(page, context); } + if (global.__sbCollectCoverage) { + await jestPlaywright.saveCoverage(page); + } + return result; }; @@ -159,6 +163,10 @@ describe('Playwright', () => { await global.__sbPostRender(page, context); } + if (global.__sbCollectCoverage) { + await jestPlaywright.saveCoverage(page); + } + return result; }; @@ -231,6 +239,10 @@ describe('Playwright', () => { await global.__sbPostRender(page, context); } + if (global.__sbCollectCoverage) { + await jestPlaywright.saveCoverage(page); + } + return result; }; diff --git a/src/playwright/transformPlaywrightJson.test.ts b/src/playwright/transformPlaywrightJson.test.ts index fe264a66..968bf113 100644 --- a/src/playwright/transformPlaywrightJson.test.ts +++ b/src/playwright/transformPlaywrightJson.test.ts @@ -83,6 +83,10 @@ describe('Playwright Json', () => { await global.__sbPostRender(page, context); } + if (global.__sbCollectCoverage) { + await jestPlaywright.saveCoverage(page); + } + return result; }; @@ -132,6 +136,10 @@ describe('Playwright Json', () => { await global.__sbPostRender(page, context); } + if (global.__sbCollectCoverage) { + await jestPlaywright.saveCoverage(page); + } + return result; }; @@ -183,6 +191,10 @@ describe('Playwright Json', () => { await global.__sbPostRender(page, context); } + if (global.__sbCollectCoverage) { + await jestPlaywright.saveCoverage(page); + } + return result; }; @@ -272,6 +284,10 @@ describe('Playwright Json', () => { await global.__sbPostRender(page, context); } + if (global.__sbCollectCoverage) { + await jestPlaywright.saveCoverage(page); + } + return result; };