|
| 1 | +--- |
| 2 | +sidebar_position: 3 |
| 3 | +title: Live Unit Test Coverage Reports |
| 4 | +sidebar_label: Live Coverage Reports |
| 5 | +description: Explore live unit test coverage reports for Bitbybit's core packages, demonstrating our commitment to quality and transparency. |
| 6 | +tags: [github, unit-tests, coverage, development] |
| 7 | +--- |
| 8 | + |
| 9 | +# Live Unit Test Coverage Reports |
| 10 | + |
| 11 | +We believe in **transparency and accountability** in our development process. To that end, we make our unit test coverage reports publicly available for core packages in the Bitbybit ecosystem. |
| 12 | + |
| 13 | +## Why Share Test Coverage Reports? |
| 14 | + |
| 15 | +Making our test coverage reports public serves several important purposes: |
| 16 | + |
| 17 | +### 1. **Transparency & Trust** |
| 18 | +By openly sharing our test coverage, we demonstrate our commitment to quality and allow users to see exactly which parts of the codebase are tested. This builds trust with developers who rely on Bitbybit for their projects. |
| 19 | + |
| 20 | +### 2. **Quality Assurance Visibility** |
| 21 | +Coverage reports provide concrete evidence of our testing efforts. While coverage percentage alone doesn't guarantee quality, it shows that we systematically test our code and continuously monitor which areas need more attention. |
| 22 | + |
| 23 | +### 3. **Inviting Community Contributions** |
| 24 | +Public coverage reports help potential contributors identify areas that could benefit from additional tests. If you see untested code paths that you believe should have coverage, we welcome pull requests with additional unit tests. |
| 25 | + |
| 26 | +### 4. **Accountability** |
| 27 | +Making these reports live and accessible holds us accountable to maintain and improve our testing standards over time. It's a public commitment to quality that we take seriously. |
| 28 | + |
| 29 | +### 5. **Educational Resource** |
| 30 | +For developers learning about testing practices in complex 3D and CAD applications, these reports serve as real-world examples of how testing can be structured and maintained. |
| 31 | + |
| 32 | +## Understanding the Reports |
| 33 | + |
| 34 | +The reports below show: |
| 35 | +- **Test suites and individual tests** with pass/fail status |
| 36 | +- **Code coverage metrics** including line, branch, function, and statement coverage |
| 37 | +- **Detailed execution results** for each test case |
| 38 | + |
| 39 | +--- |
| 40 | + |
| 41 | +## Core Package Coverage Reports |
| 42 | + |
| 43 | +### 1. Base Utilities and Core Types (`@bitbybit-dev/base`) |
| 44 | + |
| 45 | +This package contains fundamental utilities, type definitions, and helper functions used across the Bitbybit platform. Its tests ensure the stability of these core building blocks. |
| 46 | + |
| 47 | +<iframe |
| 48 | + src="https://tests.bitbybit.dev/base" |
| 49 | + width="100%" |
| 50 | + style={{backgroundColor: "white"}} |
| 51 | + height="600px" |
| 52 | + frameBorder="0" |
| 53 | + scrolling="yes" |
| 54 | + title="Bitbybit - Base Utilities Unit Test Report" |
| 55 | + allow="fullscreen" |
| 56 | +></iframe> |
| 57 | +
|
| 58 | +--- |
| 59 | + |
| 60 | +### 2. OpenCascade Technology (OCCT) Wrapper (`@bitbybit-dev/occt`) |
| 61 | + |
| 62 | +This is a critical package providing the JavaScript/TypeScript interface to the powerful OpenCascade geometric modeling kernel. Tests here cover a wide range of CAD operations, from creating basic shapes to complex boolean operations, filleting, chamfering, and data import/export. |
| 63 | + |
| 64 | +<iframe |
| 65 | + src="https://tests.bitbybit.dev/occt" |
| 66 | + style={{backgroundColor: "white"}} |
| 67 | + width="100%" |
| 68 | + height="600px" |
| 69 | + frameBorder="0" |
| 70 | + scrolling="yes" |
| 71 | + title="Bitbybit - OCCT Wrapper Unit Test Report" |
| 72 | + allow="fullscreen" |
| 73 | +></iframe> |
| 74 | +
|
| 75 | +--- |
| 76 | + |
| 77 | +### 3. Three.js Integration (`@bitbybit-dev/threejs`) |
| 78 | + |
| 79 | +This package facilitates the integration of Bitbybit's algorithmic capabilities with the Three.js 3D graphics library. Tests cover drawing Bitbybit geometries in Three.js, converting between Bitbybit and Three.js data structures, and utility functions specific to the Three.js environment. |
| 80 | + |
| 81 | +<iframe |
| 82 | + src="https://tests.bitbybit.dev/threejs" |
| 83 | + style={{backgroundColor: "white"}} |
| 84 | + width="100%" |
| 85 | + height="600px" |
| 86 | + frameBorder="0" |
| 87 | + scrolling="yes" |
| 88 | + title="Bitbybit - ThreeJS Integration Unit Test Report" |
| 89 | + allow="fullscreen" |
| 90 | +></iframe> |
| 91 | +
|
| 92 | +--- |
| 93 | + |
| 94 | +### 4. PlayCanvas Integration (`@bitbybit-dev/playcanvas`) |
| 95 | + |
| 96 | +This package provides the integration layer between Bitbybit and the PlayCanvas game engine. Tests verify the correct rendering of CAD geometries as PlayCanvas entities, material application, camera controls, and other PlayCanvas-specific functionality. |
| 97 | + |
| 98 | +<iframe |
| 99 | + src="https://tests.bitbybit.dev/playcanvas" |
| 100 | + style={{backgroundColor: "white"}} |
| 101 | + width="100%" |
| 102 | + height="600px" |
| 103 | + frameBorder="0" |
| 104 | + scrolling="yes" |
| 105 | + title="Bitbybit - PlayCanvas Integration Unit Test Report" |
| 106 | + allow="fullscreen" |
| 107 | +></iframe> |
| 108 | +
|
| 109 | +--- |
| 110 | + |
| 111 | +## Additional Package Reports Coming Soon |
| 112 | + |
| 113 | +We are continuously expanding our test coverage across the Bitbybit ecosystem. Reports for additional packages, including: |
| 114 | +- **BabylonJS Integration** (`@bitbybit-dev/babylonjs`) |
| 115 | +- **JSCAD Wrapper** (`@bitbybit-dev/jscad`) |
| 116 | +- **Manifold Wrapper** (`@bitbybit-dev/manifold`) |
| 117 | + |
| 118 | +...will be added as they become available. |
| 119 | + |
| 120 | +--- |
| 121 | + |
| 122 | +## Contributing to Test Coverage |
| 123 | + |
| 124 | +If you'd like to help improve our test coverage: |
| 125 | + |
| 126 | +1. **Explore the reports** to identify untested code paths |
| 127 | +2. **Fork our repository** on GitHub |
| 128 | +3. **Write unit tests** for uncovered functionality |
| 129 | +4. **Submit a pull request** with your tests |
| 130 | + |
| 131 | +We welcome contributions that help make Bitbybit more robust and reliable! |
| 132 | + |
| 133 | +For more information about our testing philosophy and approach, see our [Unit Testing Approach](/learn/github/unit-tests) page. |
0 commit comments