Setup Testing for Dataforge, Helios, Gitripper
Duration: 90-175-350 Hours
Difficulty: Medium
Languages & Technologies:
Repository: Dijkstra-Edu/Dijkstra-Web, Dijkstra-Edu/Dataforge, Dijkstra-Edu/Helios, Dijkstra-Edu/Archivist,
Overview
Section titled “Overview”This project focuses on establishing a comprehensive testing framework and coverage infrastructure across services in the Dijkstra ecosystem, covering both backend and frontend components. The objective is to improve code quality, reliability, and long-term maintainability by enforcing strong testing practices and measurable test coverage.
The project will standardize unit, integration, and end-to-end (E2E) testing workflows across multiple technology stacks, with centralized reporting through Codecov.
Proposed Testing Stack
Section titled “Proposed Testing Stack”Python (FastAPI)
Section titled “Python (FastAPI)”- Unit & Integration Testing: pytest, TestClient
- Coverage: coverage.py
- Reporting: Codecov
Java (Spring Boot)
Section titled “Java (Spring Boot)”- Unit Testing: JUnit
- Integration Testing: MockMvc
- End-to-End Testing: Selenium / Cypress
- Coverage: JaCoCo
- Reporting: Codecov
Go (Gin)
Section titled “Go (Gin)”- Unit Testing: go test
- Integration Testing: httptest, Testify
- End-to-End / BDD: godog
- Coverage: go test —coverprofile
- Reporting: Codecov
Objectives
Section titled “Objectives”- Set up testing frameworks for each project
- Write unit tests for core functionality
- Implement integration tests where appropriate
- Set up CI/CD integration for automated testing
- Achieve meaningful test coverage across all three projects
Requirements
Section titled “Requirements”- Understanding of testing principles and methodologies
- Familiarity with testing frameworks (Jest, pytest, etc. depending on project languages)
- Knowledge of CI/CD pipelines
- Ability to write clear, maintainable test cases
Deliverables
Section titled “Deliverables”- Testing framework setup for Dataforge, Helios, and Gitripper
- Comprehensive test suites
- CI/CD integration
- Testing documentation and guidelines
Mentors
Section titled “Mentors”We would like you to hopefully mentor the next generation as well! (This is the Dijkstra way, we learn to teach!) and to hopefully become a codeowner that other developers can look to for knowledge and guidance down the years.