diff --git a/.github/workflows/dotnetcore.yml b/.github/workflows/dotnetcore.yml index af8f898..ac1e831 100644 --- a/.github/workflows/dotnetcore.yml +++ b/.github/workflows/dotnetcore.yml @@ -16,5 +16,30 @@ jobs: - name: Build with dotnet run: dotnet build src/MockQueryable/*.sln --configuration Release - - name: Test with dotnet - run: dotnet test src/MockQueryable/*.sln + - name: Test with coverage (coverlet) + run: | + mkdir -p TestResults + + COVERAGE_DIR="$(pwd)/TestResults" + + dotnet test src/MockQueryable/*.sln \ + --configuration Release \ + --no-build \ + /p:CollectCoverage=true \ + /p:CoverletOutput="$COVERAGE_DIR/coverage-" \ + /p:CoverletOutputFormat=opencover + + ls -R "$COVERAGE_DIR" || echo Empty folder + - name: Upload coverage results (artifact) + uses: actions/upload-artifact@v4 + with: + name: code-coverage + path: TestResults + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v4 + with: + files: TestResults/**/*.opencover.xml + flags: unittests + fail_ci_if_error: true + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/README.md b/README.md index c4bb454..c26dfdc 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ Extensions for mocking [Entity Framework Core](https://github.com/dotnet/efcore) ## ✅ Build & Status +[![codecov](https://codecov.io/github/romantitov/MockQueryable/graph/badge.svg?token=dtiYMUNHUo)](https://codecov.io/github/romantitov/MockQueryable) ![.NET Core](https://github.com/romantitov/MockQueryable/workflows/.NET%20Core/badge.svg) [![License](https://img.shields.io/github/license/romantitov/MockQueryable.svg)](https://github.com/romantitov/MockQueryable/blob/master/LICENSE) @@ -138,3 +139,4 @@ See the [sample project](https://github.com/romantitov/MockQueryable/tree/master + diff --git a/src/MockQueryable/MockQueryable.Sample/MockQueryable.Sample.csproj b/src/MockQueryable/MockQueryable.Sample/MockQueryable.Sample.csproj index c40b551..73a3cbd 100644 --- a/src/MockQueryable/MockQueryable.Sample/MockQueryable.Sample.csproj +++ b/src/MockQueryable/MockQueryable.Sample/MockQueryable.Sample.csproj @@ -11,6 +11,7 @@ +