@abinavseelan/papers-please 中文文档教程
papers-please
用于新代码的基于笑话的测试用例授权工具。
Install
npm install -D papers-please
需要 Node 8+ 和Jest 25.x+
⚠️ 对于覆盖率报告,需要将 Jest 覆盖率收集为 json-summary
.
// In jest.config.js
{
coverageReporters: ["json-summary"]
}
Usage
CLI
npx papers-please --trackGlobs="<comma separated list of file globs to track>" --baseBranch="<branch to check file diff against>"
示例
npx papers-please --trackGlobs="**/src/**/*.js,**/client/**/*.js,**/server/**/*.js" --baseBranch="main"
As an npm script
// In your package.json
{
"scripts": {
"validate": "npx papers-please --trackGlobs="**/src/**/*.js,**/client/**/*.js,**/server/**/*.js" --baseBranch="main""
}
}
As a git hook
papers-please 可以与 husky 一起使用以在 git commit 上运行验证和/或混帐推。
Options
Option | Type | Description | Default Value |
---|---|---|---|
--baseBranch | string | Base branch to validate your branch against to derive new and modified files | origin/main |
--projectRoot | string | Root directory for the project. Assume this to be where the .git folder resides | process.cwd() |
--coverageFile | string | Path to the jest coverage report. Note The coverage summary report should be the json summary output | ./coverage/coverage-summary.json |
--skipCoverage | boolean | Skip coverage metrics validation | false |
--trackGlobs | string | List of comma-separated source files / globs to track. Any file that is modified or added that matches the glob pattern will be validated. | */ |
--branchCoverageThreshold | number | Branch coverage threshold for new files (in percentage) | 80 |
--functionCoverageThreshold | number | Function coverage threshold for new files (in percentage) | 80 |
--lineCoverageThreshold | number | Line coverage threshold for new files (in percentage) | 80 |
--statementCoverageThreshold | number | Statement coverage threshold for new files (in percentage) | 80 |
--help | boolean | Show usage and available options | false |
--verbose | boolean | Show verbose output for each step | false |
--exposeMetrics | boolean | Exposes coverage metrics into a json file for the modified/added files which matches the glob pattern | false |
Contributing
想要修复某些东西、添加新功能或提出问题? 请阅读贡献指南开始。 :smile:
Contributors ✨
感谢这些很棒的人 (emoji key):
Abinav Seelan ???? ???? ???? | Aditi Mohanty ???? |
这个项目遵循 all-contributors 规范。 欢迎任何形式的贡献!
papers-please
jest-based test case mandating tool for new code.
Install
npm install -D papers-please
Requires Node 8+ and Jest 25.x+
⚠️ For coverage reporting, Jest coverage needs be be collected as json-summary
.
// In jest.config.js
{
coverageReporters: ["json-summary"]
}
Usage
CLI
npx papers-please --trackGlobs="<comma separated list of file globs to track>" --baseBranch="<branch to check file diff against>"
Example
npx papers-please --trackGlobs="**/src/**/*.js,**/client/**/*.js,**/server/**/*.js" --baseBranch="main"
As an npm script
// In your package.json
{
"scripts": {
"validate": "npx papers-please --trackGlobs="**/src/**/*.js,**/client/**/*.js,**/server/**/*.js" --baseBranch="main""
}
}
As a git hook
papers-please can be used alongside husky to run validation on git commit and / or git push.
Options
Option | Type | Description | Default Value |
---|---|---|---|
--baseBranch | string | Base branch to validate your branch against to derive new and modified files | origin/main |
--projectRoot | string | Root directory for the project. Assume this to be where the .git folder resides | process.cwd() |
--coverageFile | string | Path to the jest coverage report. Note The coverage summary report should be the json summary output | ./coverage/coverage-summary.json |
--skipCoverage | boolean | Skip coverage metrics validation | false |
--trackGlobs | string | List of comma-separated source files / globs to track. Any file that is modified or added that matches the glob pattern will be validated. | */ |
--branchCoverageThreshold | number | Branch coverage threshold for new files (in percentage) | 80 |
--functionCoverageThreshold | number | Function coverage threshold for new files (in percentage) | 80 |
--lineCoverageThreshold | number | Line coverage threshold for new files (in percentage) | 80 |
--statementCoverageThreshold | number | Statement coverage threshold for new files (in percentage) | 80 |
--help | boolean | Show usage and available options | false |
--verbose | boolean | Show verbose output for each step | false |
--exposeMetrics | boolean | Exposes coverage metrics into a json file for the modified/added files which matches the glob pattern | false |
Contributing
Want to fix something, add a new feature or raise an issue? Please read the contributing guide to get started. :smile:
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Abinav Seelan ???? ???? ???? | Aditi Mohanty ???? |
This project follows the all-contributors specification. Contributions of any kind welcome!