@temporalio/nyc-test-coverage v1.11.6
@temporalio/nyc-test-coverage
Temporal's TypeScript SDK integration for Workflow code coverage with nyc and similar tools.
Getting Started
npm install -D mocha nyc @temporalio/nyc-test-coverage- Instantiate
WorkflowCoveragefrom this package, and callaugmentWorkerOptions()to configure Workflows to gather and export code coverage data:
import { WorkflowCoverage } from '@temporalio/nyc-test-coverage';
const workflowCoverage = new WorkflowCoverage();
worker = await Worker.create(workflowCoverage.augmentWorkerOptions({
connection: nativeConnection,
taskQueue,
workflowsPath: require.resolve("./workflows"),
}));- After your tests are done, call
mergeIntoGlobalCoverage()to merge your Workflows' code coverage into nyc's global coverage.
after(() => {
workflowCoverage.mergeIntoGlobalCoverage();
});Usage with bundleWorkflowCode()
If you are pre-bundling your Workflows using bundleWorkflowCode(), we recommend using the augmentBundleOptions() method to configure your bundle options, followed by augmentWorkerOptionsWithBundle() to configure your Worker options as follows.
const bundle = await bundleWorkflowCode(
workflowCoverage.augmentBundleOptions({
workflowsPath: require.resolve('./workflows'),
})
);
const worker = await Worker.create(
workflowCoverage.augmentWorkerOptionsWithBundle({
connection,
taskQueue,
workflowBundle: bundle,
activities,
})
);With bundleWorkflowCode(), you still need to call mergeIntoGlobalCoverage() when your tests are done to merge Workflow test coverage into nyc's global test coverage.
after(() => {
workflowCoverage.mergeIntoGlobalCoverage();
});Usage with Jest
This package also works with Jest code coverage.
However, this package only works with the default coverageProvider option 'babel'.
This package does not work with coverageProvider: 'v8'.
Complete the following steps to use this package with Jest.
npm install jest @temporalio/nyc-test-coverage- Check your Jest config and make sure the
coverageProvideroption is not set to'v8'. SetcoverageProviderto'babel'. - Instantiate
WorkflowCoveragefrom this package, and callaugmentWorkerOptions()to configure Workflows to gather and export code coverage data:
import { WorkflowCoverage } from '@temporalio/nyc-test-coverage';
const workflowCoverage = new WorkflowCoverage();
worker = await Worker.create(workflowCoverage.augmentWorkerOptions({
connection: nativeConnection,
taskQueue,
workflowsPath: require.resolve("./workflows"),
}));- After your tests are done, call
mergeIntoGlobalCoverage()to merge your Workflows' code coverage into Jest's global coverage.
afterAll(() => {
workflowCoverage.mergeIntoGlobalCoverage();
});10 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago