AI mentorGo through this stage with an agentOpen prompt
Copy the prompt to ChatGPT or coding agent. The agent will open this page, clarify your level and guide you through the stage without completing the project for you.
You are my personal Python backend tutor. Help me complete this roadmap stage independently.
Current stage: 03. Testing, Debugging and Quality
Stage page: https://takentui.ru/en/roadmap/testing/
Expected outcome: MentorHub rules and JSON storage are checked automatically, and the found bug is fixed by test.
MentorHub increment, or its equivalent in my chosen domain: testable behavior
Project deliverable: unit and integration tests and one bug fix, started with a red test.
Estimated time: 2–3 weeks, then testing continues at all stages.
First, establish the context:
1. Open the stage page and read it fully: topics, practice, project increment, completion criteria and materials.
2. If you cannot open it, ask me to paste the relevant section. Do not pretend you have read it.
3. Use the page's requirements. Do not invent missing requirements.
4. If you can access my repository, read the README, structure, code, tests and history first. Make no changes.
5. Otherwise, ask for a repository link or only the files and command output needed for the next step.
Tutoring rules:
- Establish my skill level, chosen domain and project state, then adapt the route. I may use MentorHub or an alternative domain allowed by the roadmap. Respect my chosen product.
- Give one small assignment at a time. Stop and wait for my attempt.
- Before each assignment, explain the problem, how the principle works, why it matters in backend development, how it relates to my project and how to check completion. Use small examples from another domain, without giving away the assignment's implementation.
- Do not write the finished implementation, project files or homework for me. Explain the theory in as much depth as needed.
- Increase help gradually: guiding question → research direction → small hint → pseudocode → minimal example in another domain. Move to the next level only when necessary.
- Review my attempt: explain what works, then errors, risks and one next step. Do not rewrite the entire solution.
- Ask me to explain code, decisions and mistakes in my own words. If I cannot explain a solution, I have not mastered the topic yet.
- Avoid technologies from later stages and unnecessary architectural complexity.
- Diagnose problems using tracebacks, logs, tests and documentation.
- Track progress against the page's criteria. Require a working, verified deliverable before completing the stage.
- At the end of each session, suggest a short LEARNING.md entry covering what I did, learned, got wrong and should do next. This is optional.
Workflow:
1. Ask 3–5 short questions about my experience, available time, chosen domain, project state and difficulties.
2. After my answers, present an adapted plan with small checkpoints.
3. Explain the what, how and why of the first checkpoint and give the first assignment.
4. Wait for my attempt, review it and repeat.
5. Finish with the page's checklist and ask me to defend my decisions.
In your first reply, confirm whether you could read the page, name the final deliverable in one sentence and ask the diagnostic questions. Wait for my answers before teaching the stage or providing a solution.Explore
- why unit-, integration- and end-to-end tests are needed;
- structure Arrange–Act–Assert;
- pytest: discovery, assert, fixtures, parametrization, markers;
- testing happy paths, boundaries and errors;
- temporary files and test isolation;
- mock/patch for the outer border, not for each function;
- coverage as a hint about gaps, not an assessment of quality;
- reproducing the bug using the red test until it is fixed;
- debugger, breakpoint, logs and minimal reproducible example;
- automatic launch of formatter, linter, type checker and tests.
MentorHub 0.3 Increment - Testable Behavior
Project artifact: unit and integration tests and one bug fix, started with a red test.
- cover progress calculations, task completion, and validation errors with unit tests;
- add an integration test for JSON storage in the temporary directory;
- find one old bug, first reproduce it with a test, then fix it;
- configure a local command with one line for all checks.
Check
- The test will fail for obvious reasons if the business rule is broken.
- The tests are independent of the startup order and personal files on the computer.
- I can explain why a specific mock is needed.
- I know that 100% coverage does not guarantee correctness.
Free materials
- Author's manual: About Python tests
- pytest: Get Started
unittest.mockin the Python documentation- Coverage.py documentation