diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index f319224c..f31c8880 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -13,6 +13,18 @@
"commands": [
"dotnet-format"
]
+ },
+ "coverlet.console": {
+ "version": "1.7.0",
+ "commands": [
+ "coverlet"
+ ]
+ },
+ "dotnet-reportgenerator-globaltool": {
+ "version": "4.5.1",
+ "commands": [
+ "reportgenerator"
+ ]
}
}
}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 4184f938..8f45f881 100644
--- a/.gitignore
+++ b/.gitignore
@@ -102,7 +102,7 @@ Backup/
tools/*
!tools/gitversion_wrapper.sh
!tools/LINQPad
-coverage-results/*
+**/coverage-results/
# Rider
-**/.idea/*
\ No newline at end of file
+**/.idea/*
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index 8ff54f8b..de3095f3 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -35,20 +35,49 @@
"problemMatcher": "$msCompile"
},
{
- "label": "Test New Things",
+ "label": "Clean Test Directory",
+ "command": "git",
+ "type": "process",
+ "args": [
+ "clean",
+ "-xdf",
+ "${workspaceFolder}/test/Octokit.CodeGen.Tests"
+ ],
+ "problemMatcher": "$msCompile",
+ },
+ {
+ "label": "Test New Code",
"command": "dotnet",
"type": "process",
"args": [
"test",
"${workspaceFolder}/test/Octokit.CodeGen.Tests/Octokit.CodeGen.Tests.csproj",
"/property:GenerateFullPaths=true",
- "/consoleloggerparameters:NoSummary"
+ "/consoleloggerparameters:NoSummary",
+ "--collect:\"XPlat Code Coverage\"",
+ "--results-directory:\"test/Octokit.CodeGen.Tests/coverage-results/\"",
+ "--settings:\"test/Octokit.CodeGen.Tests/coverlet.runsettings\""
],
"problemMatcher": "$msCompile",
"group": {
"kind": "test",
"isDefault": true
- }
+ },
+ "dependsOn": ["Clean Test Directory" ]
+ },
+ {
+ "label": "Get Coverage",
+ "command": "dotnet",
+ "type": "process",
+ "args": [
+ "reportgenerator",
+ "--reports:${workspaceFolder}/test/Octokit.CodeGen.Tests/coverage-results/*/coverage.cobertura.xml",
+ "--sourcedirs:${workspaceFolder}/src/Octokit.CodeGen/",
+ "--reporttypes:Html",
+ "--targetdir:${workspaceFolder}/test/Octokit.CodeGen.Tests/coverage-results/"
+ ],
+ "problemMatcher": "$msCompile",
+ "dependsOn": ["Test New Code" ]
}
]
}
diff --git a/test/Octokit.CodeGen.Tests/Octokit.CodeGen.Tests.csproj b/test/Octokit.CodeGen.Tests/Octokit.CodeGen.Tests.csproj
index c163de1b..02569ddd 100644
--- a/test/Octokit.CodeGen.Tests/Octokit.CodeGen.Tests.csproj
+++ b/test/Octokit.CodeGen.Tests/Octokit.CodeGen.Tests.csproj
@@ -12,10 +12,10 @@
-
+
-
+
diff --git a/test/Octokit.CodeGen.Tests/coverlet.runsettings b/test/Octokit.CodeGen.Tests/coverlet.runsettings
new file mode 100644
index 00000000..c6b0bd05
--- /dev/null
+++ b/test/Octokit.CodeGen.Tests/coverlet.runsettings
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ json,cobertura
+ [coverlet.*.tests?]*,[*]Coverlet.Core*
+ Obsolete,GeneratedCodeAttribute,CompilerGeneratedAttribute
+ ../../Octokit.Tests,../../Octokit.Tests.Conventions,../../Octokit.Tests.Integration,
+ ../../src/Octokit.CodeGen/
+ false
+ true
+ false
+
+
+
+
+