addon-coverage
addon-coverage copied to clipboard
[Bug] Code outside of the yarn workspace are not instrumented
Describe the bug
I have 2 yarn workspaces, one containing my app and another containing storybook.
Steps to reproduce the behavior
- Setup react in one yarn workspace, create react components and stories here
- Setup a separate yarn workspace and install storybook there
- Set storybook main.js stories to be found in the react workspace
- Start storybook
- Run tests with coverage -> Error: The code in this story is not instrumented, which means the coverage setup is likely not correct.
// main.js
module.exports = {
stories: [
"../../components/src/**/*.stories.mdx",
"../../components/src/**/*.stories.@(js|jsx|ts|tsx)",
],
addons: [
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/addon-interactions",
'@storybook/addon-coverage',
],
framework: "@storybook/react",
features: {
interactionsDebugger: true,
},
}
I have also ejected storybook to get the tests to run:
// test-runner-jest.config.js
const {getJestConfig} = require('@storybook/test-runner');
module.exports = {
// The default configuration comes from @storybook/test-runner
...getJestConfig(),
/** Add your own overrides below
* @see https://jestjs.io/docs/configuration
*/
rootDir: '../components/',
testEnvironmentOptions: {
'jest-playwright': {
browsers: ['chromium'],
},
},
};
Expected behavior
Tests with coverage work.
Screenshots and/or logs
Error:
[Test runner] An error occurred when evaluating code coverage:
The code in this story is not instrumented, which means the coverage setup is likely not correct.
More info: https://github.com/storybookjs/test-runner#setting-up-code-coverage
Environment
- OS: Windows
- Node.js version: v14.21.1
- NPM version: 6.14.17
- Browser (if applicable): chrome (although storybook app isnt open)
Having the same error despite the addon being setup correctly
@yannbf is this a known thing?
same error here
Possibly unrelated but I was getting this error when using an external React component (from an installed dependency) within the render/component of a story. It was the external component that could not be instrumented as removing it allowed the coverage tests to run.
npx sb upgrade
seems to have resolved my issue now (although I was only using one workspace).
Alternatively you could try specifying where you want coverage from with the include
configuration ?