Add guidance for testing conventions in each language - #16734
Conversation
|
@titusfortner I just updated this branch and fixed the merge conflicts. Is there any more work that needs to be done, or is this ready to merge? |
There was a problem hiding this comment.
Pull request overview
This PR extracts language-specific testing guidance from the top-level README.md into per-language TESTING.md guides, with the goal of documenting language-specific conventions, helpers, and common test commands.
Changes:
- Replaces the detailed, language-specific testing section in
README.mdwith a pointer to per-languageTESTING.mdfiles. - Adds initial
TESTING.mdguides for Java, JavaScript, Python, Ruby, .NET, and Rust. - Documents common testing conventions (frameworks, helpers, skipping mechanisms, and example commands) within each language directory.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Removes embedded per-language test command blocks and points contributors to language-level TESTING.md guides. |
| rust/TESTING.md | Adds a minimal Rust testing guide with a Bazel command and recommended env flags. |
| rb/TESTING.md | Adds a comprehensive Ruby testing/conventions guide (RSpec, guards, helpers, env vars, tooling). |
| py/TESTING.md | Adds a Python testing/conventions guide (pytest, markers/fixtures, Bazel + local pytest workflows). |
| javascript/selenium-webdriver/TESTING.md | Adds a JavaScript testing/conventions guide (Mocha, suite helpers, Bazel commands). |
| java/TESTING.md | Adds a Java testing/conventions guide (JUnit 5 base classes, annotations, Bazel commands). |
| dotnet/TESTING.md | Adds a .NET testing/conventions guide (NUnit, fixtures/attributes, Bazel commands). |
nvborisenko
left a comment
There was a problem hiding this comment.
I would not land this document at all - kind of written in stone. Meaning increases maintainability.
|
Do we need to update this, or should we discard it? All this work and time need to have a conclusion eventually. |
Hey @diemol, I think we should update this, I see value on the individual testing.md files and on making a lightweight README because usually when you want to collaborate with the project you stay in one binding, the rb one looks pretty good but if there is anything else I can do to help let me know |
|
@aguspe thanks, that makes sense. Why don't we split this PR per language then? I dislike it when we have PRs that try to cover everything across all bindings, and they cannot land until a large group of people agrees. |
That makes a lot of sense to me, I could split the rb one from here if everyone is onboard |
1a02aa1 to
84fc4b3
Compare
84fc4b3 to
0e28583
Compare
|
@aguspe & @diemol I did a refresh of these addressing the comments above. @nvborisenko this isn't designed as something to be set in stone, it is for committers to better understand the "tribal knowledge" in bindings they aren't actively familiar with. Useful for both devs and agents. Yes it can diverge, but I think maintenance costs for this is better than nothing. Also, we already have a lot of this documented in README right now, and part of the intent is to pull it out and put it where it belongs. We can split it out or merge if it is good enough. I think this is better than what we have for sure. |
PR Summary by QodoMove language-specific test guidance into per-language TESTING.md guides Description
Diagram
High-Level Assessment
Files changed (7)
|
Code Review by Qodo
Context used✅ Compliance rules (platform):
42 rules 1.
|
|
Code review by qodo was updated up to the latest commit 84821d1 |
|
Thanks, @titusfortner! Why don't we merge it now, and if a modification or update is needed, we create a new PR? |
Reason for PR
Each language has its own tribal knowledge right now for how it works, from annotations to helper methods to common locations for things. This is intended to document those things to make it easier to work in each language.
💥 What does this PR do?
Removes language specific testing details from primary README and moves everything to separate
TESTING.mdfiles💡 Additional Considerations
This is in draft because they were auto-generated as a place to start. I updated some of them more than others, but they can all use a lot of work. Please assist, thanks.