https://github.com/lyndychivs/testminer
Test Miner, parsing NUnit Test Reports into a Database for historical record & trend monitoring.
https://github.com/lyndychivs/testminer
database nunit parse record results save test testing
Last synced: 2 months ago
JSON representation
Test Miner, parsing NUnit Test Reports into a Database for historical record & trend monitoring.
- Host: GitHub
- URL: https://github.com/lyndychivs/testminer
- Owner: lyndychivs
- License: mit
- Created: 2025-03-13T19:53:46.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-02T13:40:53.000Z (about 1 year ago)
- Last Synced: 2025-05-11T15:50:33.289Z (about 1 year ago)
- Topics: database, nunit, parse, record, results, save, test, testing
- Language: C#
- Homepage:
- Size: 2.06 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Test Miner
[](https://dashboard.stryker-mutator.io/reports/github.com/lyndychivs/TestMiner/master)
## π High Level
Test Miner was designed to parse NUnit3 Test Reports and store the results into a Relational Database.
The Database would provide users with the means to historically track and monitor trends of Test Results.

## Prerequisites
| Prerequisite | Note |
| :--- | :--- |
| .NET8 SDK | .NET8 or greater required.
Check current .NET version `dotnet --version`.
Download .NET8 [here](https://dotnet.microsoft.com/en-us/download/dotnet/8.0). |
| SQL Server | The Database template can be found within this repository [here](TestMiner.Database).
Download SQL Server Express [here](https://www.microsoft.com/en-us/sql-server/sql-server-downloads).
You're on the hook to pay for the storage. π |
| NUnit3 Test Results | The NUnit3 Test Results must be in XML format.
Use `--result=TestResult.xml;format=nunit3` when executing tests. |
## π₯οΈ Test Miner Console Application
Specify the following commands & arguments:
### π οΈCommand Line Interface Usages
#### βοΈ mine
Mine Test Report files to the Database.
```bash
mine [parameters]
```
##### Parameters
| Argument | Description | Default | Required |
| :--- | :--- | :--- | :--- |
| `--reports ` | File paths of the NUnit3 Test Report files to upload ("mine") to the Database.
Can specify multiple file paths. | β | Yes |
| `--connection ` | The Connection String to the Database. | β | No |
###### Example
```bash
TestMiner.exe mine --reports "C:\SampleData\TestResults1.xml" --connection "Server=localhost\\SQLEXPRESS;Database=TestMiner;"
```
#### πΎ save
Saves the Database Connection String locally.
```bash
save [parameters]
```
##### Parameters
| Argument | Description | Default | Required |
| :--- | :--- | :--- | :--- |
| `--connection ` | The Connection String to the Database. | β | Yes |
###### Example
```bash
TestMiner.exe save --connection "Server=localhost\\SQLEXPRESS;Database=TestMiner;"
```
## π½ Database
The Database project exists at [TestMiner.Database](TestMiner.Database); you can publish this Database to your own SQL Server instance.
I have included guidance on how to deploy the Database to localhost for testing (with Docker) [here](TestMiner.Database/README.md)
## π₯οΈ Test Miner Windows Application
A Windows application exists that wraps all the CLI functionality in a GUI format, [TestMiner.WindowsApplication](TestMiner.WindowsApplication).

## π§ͺ Testing
- Unit Testing
- [TestMiner.Tests](TestMiner.Tests)
- [TestMiner.Models.Tests](TestMiner.Models.Tests)
- Component Testing
- [TestMiner.Database.ComponentTests](TestMiner.Database.ComponentTests)
- Integration Testing
- [TestMiner.IntegrationTests](TestMiner.IntegrationTests)
- Mutation Testing
- [Strkyer.NET](https://dashboard.stryker-mutator.io/reports/github.com/lyndychivs/TestMiner/master) with [my GitHub Action](https://github.com/lyndychivs/dotnet-stryker-action)