Title: doc: recommend writing tests in new files and including comments by joyeecheung · Pull Request #57028 · nodejs/node · GitHub
Open Graph Title: doc: recommend writing tests in new files and including comments by joyeecheung · Pull Request #57028 · nodejs/node
X Title: doc: recommend writing tests in new files and including comments by joyeecheung · Pull Request #57028 · nodejs/node
Description: The previous phrasing encouraged or did not discourage appending new test cases to existing files - a practice that can reduce the debuggability of the tests over time as they get bigger and bigger, some times thousands of lines long with hundreds of test cases, and make the CI output increasingly difficult to read when one of the test cases fail in a very long test. This patch updates the guideline to explicitly discourage appending test cases this way. Also recommend including an opening comment to describe what the test does to optimize the test towards the scenario when it fails. For some concrete examples: Previously I had to split test-crypto-dh.js and test-wasi.js because they were timing out in the CI, some might be related to actual bugs but there is no way to figure out which test specifically is timing out in a long test, so it had to be split to isolate them. When the test crashes like this https://ci.nodejs.org/job/node-test-commit-arm-debug/17147/nodes=ubuntu2204_debug-arm64/testReport/junit/(root)/parallel/test_child_process_exec_maxbuf/ it's difficult to figure out exactly which test case is crashing To avoid losing git history I would not recommend splitting existing tests unless there's a ongoing motivation to do so (e.g. it's flaking in the CI). But I think we should at least discourage new tests to be written in a way that exacerbate the problem.
Open Graph Description: The previous phrasing encouraged or did not discourage appending new test cases to existing files - a practice that can reduce the debuggability of the tests over time as they get bigger and bigger...
X Description: The previous phrasing encouraged or did not discourage appending new test cases to existing files - a practice that can reduce the debuggability of the tests over time as they get bigger and bigger...
Opengraph URL: https://github.com/nodejs/node/pull/57028
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:03952755-cf35-0289-7090-38f44fbc3b64 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | BF70:215155:90A5AB:C2BF4F:6A4C4718 |
| html-safe-nonce | b898c087d190948f1f5838c2764e74a2c561e2125d720d5fb28d958cabdd839b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCRjcwOjIxNTE1NTo5MEE1QUI6QzJCRjRGOjZBNEM0NzE4IiwidmlzaXRvcl9pZCI6Ijk3MjQ2ODAwODc3MjE5MjAyNCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 9e5e2eefd5fc6c2f564271acc83293f249fe7eabc1a63e8c28dc5bd7f1c62a97 |
| hovercard-subject-tag | pull_request:2333712626 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/nodejs/node/pull/57028/files |
| twitter:image | https://avatars.githubusercontent.com/u/4299420?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/4299420?s=400&v=4 |
| og:image:alt | The previous phrasing encouraged or did not discourage appending new test cases to existing files - a practice that can reduce the debuggability of the tests over time as they get bigger and bigger... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3d11bb817438277de2a940854450e83a7d32b6aeb5014e9e6b00a6423900251c |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/nodejs/node git https://github.com/nodejs/node.git |
| octolytics-dimension-user_id | 9950313 |
| octolytics-dimension-user_login | nodejs |
| octolytics-dimension-repository_id | 27193779 |
| octolytics-dimension-repository_nwo | nodejs/node |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 27193779 |
| octolytics-dimension-repository_network_root_nwo | nodejs/node |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 3996b3b83990e134be6c099ab9a7f48f140ae80f |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width