{"id":28148005,"url":"https://github.com/lyndychivs/testminer","last_synced_at":"2026-05-03T05:40:48.337Z","repository":{"id":287702812,"uuid":"948129878","full_name":"lyndychivs/TestMiner","owner":"lyndychivs","description":"Test Miner, parsing NUnit Test Reports into a Database for historical record \u0026 trend monitoring.","archived":false,"fork":false,"pushed_at":"2025-05-02T13:40:53.000Z","size":2161,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-11T15:50:33.289Z","etag":null,"topics":["database","nunit","parse","record","results","save","test","testing"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lyndychivs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"lyndychivs","buy_me_a_coffee":"lyndychivs"}},"created_at":"2025-03-13T19:53:46.000Z","updated_at":"2025-05-02T13:40:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff6c47fc-a383-4b48-855a-50a06ecd61a1","html_url":"https://github.com/lyndychivs/TestMiner","commit_stats":null,"previous_names":["lyndychivs/testminer"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyndychivs%2FTestMiner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyndychivs%2FTestMiner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyndychivs%2FTestMiner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyndychivs%2FTestMiner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lyndychivs","download_url":"https://codeload.github.com/lyndychivs/TestMiner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254249553,"owners_count":22039085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","nunit","parse","record","results","save","test","testing"],"created_at":"2025-05-15T00:23:10.491Z","updated_at":"2026-05-03T05:40:43.316Z","avatar_url":"https://github.com/lyndychivs.png","language":"C#","funding_links":["https://github.com/sponsors/lyndychivs","https://buymeacoffee.com/lyndychivs"],"categories":[],"sub_categories":[],"readme":"# Test Miner\n[![Mutation testing badge](https://img.shields.io/endpoint?style=for-the-badge\u0026url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2Flyndychivs%2FTestMiner%2Fmaster)](https://dashboard.stryker-mutator.io/reports/github.com/lyndychivs/TestMiner/master)\n\n## 🔭 High Level\nTest Miner was designed to parse NUnit3 Test Reports and store the results into a Relational Database.\n\nThe Database would provide users with the means to historically track and monitor trends of Test Results.\n\n![Test Miner Diagram](/Resources/TestMinerDiagram.png)\n\n## Prerequisites\n| Prerequisite        | Note |\n| :---                | :--- |\n| .NET8 SDK           | .NET8 or greater required.\u003cbr/\u003eCheck current .NET version `dotnet --version`.\u003cbr/\u003eDownload .NET8 [here](https://dotnet.microsoft.com/en-us/download/dotnet/8.0). |\n| SQL Server          | The Database template can be found within this repository [here](TestMiner.Database). \u003cbr/\u003eDownload SQL Server Express [here](https://www.microsoft.com/en-us/sql-server/sql-server-downloads).\u003cbr/\u003eYou're on the hook to pay for the storage. 😂 |\n| NUnit3 Test Results | The NUnit3 Test Results must be in XML format.\u003cbr/\u003eUse `--result=TestResult.xml;format=nunit3` when executing tests. |\n\n## 🖥️ Test Miner Console Application\nSpecify the following commands \u0026 arguments:\n\n### 🛠️Command Line Interface Usages\n#### ⛏️ mine\nMine Test Report files to the Database.\n```bash\nmine [parameters]\n```\n##### Parameters\n| Argument                          | Description | Default | Required |\n| :---                              | :---        | :---    | :---     |\n| `--reports \u003cfilePath\u003e`            | File paths of the NUnit3 Test Report files to upload (\"mine\") to the Database.\u003cbr/\u003eCan specify multiple file paths. | — | Yes |\n| `--connection \u003cconnectionString\u003e` | The Connection String to the Database. | — | No |\n\n###### Example\n```bash\nTestMiner.exe mine --reports \"C:\\SampleData\\TestResults1.xml\" --connection \"Server=localhost\\\\SQLEXPRESS;Database=TestMiner;\"\n```\n\n#### 💾 save\nSaves the Database Connection String locally.\n```bash\nsave [parameters]\n```\n##### Parameters\n| Argument                          | Description | Default | Required |\n| :---                              | :---        | :---    | :---     |\n| `--connection \u003cconnectionString\u003e` | The Connection String to the Database. | — | Yes |\n\n###### Example\n```bash\nTestMiner.exe save --connection \"Server=localhost\\\\SQLEXPRESS;Database=TestMiner;\"\n```\n\n## 💽 Database\nThe Database project exists at [TestMiner.Database](TestMiner.Database); you can publish this Database to your own SQL Server instance.\n\nI have included guidance on how to deploy the Database to localhost for testing (with Docker) [here](TestMiner.Database/README.md)\n\n## 🖥️ Test Miner Windows Application\nA Windows application exists that wraps all the CLI functionality in a GUI format, [TestMiner.WindowsApplication](TestMiner.WindowsApplication).\n\n![Test Miner Windows Application Screenshot](/TestMiner.WindowsApplication/Screenshots/TestMinerWindowsApplicationDefault.png)\n\n## 🧪 Testing\n- Unit Testing\n  - [TestMiner.Tests](TestMiner.Tests)\n  - [TestMiner.Models.Tests](TestMiner.Models.Tests)\n- Component Testing\n  - [TestMiner.Database.ComponentTests](TestMiner.Database.ComponentTests)\n- Integration Testing\n  - [TestMiner.IntegrationTests](TestMiner.IntegrationTests)\n- Mutation Testing\n  - [Strkyer.NET](https://dashboard.stryker-mutator.io/reports/github.com/lyndychivs/TestMiner/master) with [my GitHub Action](https://github.com/lyndychivs/dotnet-stryker-action)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flyndychivs%2Ftestminer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flyndychivs%2Ftestminer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flyndychivs%2Ftestminer/lists"}