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 + + + + +