You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -46,11 +45,11 @@ Feel free to add more examples! ✨
46
45
47
46
1.**AI-Driven Mutation Testing:** Mutahunter leverages advanced LLM models to inject context-aware faults into your codebase rather than blindly mutating the code. This allows the mutants to closely resemble real bugs.
48
47
2.**Language Agnostic:** Mutahunter supports various programming languages and can be extended to work with any language that provides a coverage report in **Cobertura** XML format, **Jacoco** XML format, and **lcov** format.
49
-
3.**Enhanced Mutation Coverage Report (experimental):** Mutahunter provides detailed mutation coverage reports, highlighting the effectiveness of your test suite and identifying potential weaknesses.
48
+
3.**Diff-Based Mutation Testing:** Mutahunter can run mutation testing specifically on modified files and lines based on the latest commit or pull request changes. This feature optimizes the mutation testing process by focusing on recent changes.
49
+
4.**Enhanced Mutation Coverage Report (WIP):** Mutahunter provides detailed mutation coverage reports, highlighting the effectiveness of your test suite and identifying potential weaknesses.
50
50
51
51
**Afraid of sending code to OpenAI or Anthropic? No problem, we support self-hosted versions as well.** 🔒
To use Mutahunter, you first need a **Cobertura XML**, **Jacoco XML**, or **lcov** code coverage report of a specific test file. Currently, mutation testing works per test file level, not the entire test suite. Therefore, you need to get the coverage report per test file.
77
+
To use Mutahunter, you first need a **Cobertura XML**, **Jacoco XML**, or **lcov** code coverage report. **Make sure your test command correlates with the coverage report.**
79
78
80
79
Example command to run Mutahunter on a Python FastAPI [application](/examples/python_fastapi/):
+ function_executed_lines.append(line - start_line) # Mutation: Change the calculation of executed lines to start from 0 instead of 1.\n"
155
154
},
156
155
]
157
156
```
158
157
159
-
Detailed report on identified weaknesses in the test suite and potential bugs not caught by the test suite:
160
-
161
-
Example report (**experimental*):
162
-
163
-
```markdown
164
-
### Identified Weaknesses in the Test Suite
165
-
1. **Callback Handling in `callback`**:
166
-
- **Weakness**: The test suite does not test the `callback` function for different node types, including the newly added `class_definition`.
167
-
- **Improvement**: Add tests to verify that the `callback` function correctly identifies and handles `class_definition` nodes, in addition to other node types.
168
-
169
-
### Potential Bugs Not Caught by the Test Suite
170
-
1. **Callback Handling**:
171
-
- **Bug**: The `callback` function might incorrectly handle or miss `class_definition` nodes, leading to incomplete or incorrect function block identification.
0 commit comments