22author : ' Pete Sramek'
33description : ' Run tests, collects code coverage, logs test results, uploads test artifacts'
44inputs :
5+ # Required
56 project-path :
6- description : ' Test project path.'
7- required : true
7+ description : ' Search pattern for test projects.'
8+ required : true
9+ # Optional
810 dotnet_sdk_version :
911 description : ' .NET SDK version. Default: 10.x'
1012 required : false
@@ -34,11 +36,11 @@ inputs:
3436 required : false
3537 default : ' true'
3638 test-results-directory :
37- description : ' Search pattern for test artifacts. Default: test-results'
39+ description : ' Search pattern for test artifacts. Default: " test-results" '
3840 required : false
3941 default : ' test-results'
4042 test-artifacts-name :
41- description : ' Test artifacts name, Default: test-results'
43+ description : ' Test artifacts name, Default: " test-results" '
4244 required : false
4345 default : ' test-results'
4446
@@ -53,31 +55,26 @@ runs:
5355 with :
5456 dotnet-version : ${{ inputs.dotnet_sdk_version }}
5557
56- - name : ' Test with .NET CLI (Native Code Coverage)'
58+ - if : ${{ inputs.use-trf-logger == 'true' }}
59+ name : ' Set TRX_LOGGER_ARGS environment variable'
5760 shell : bash
58- env :
59- DOTNET_USE_TEST_PLATFORM : ' 1'
60- run : |
61- ARGS=()
62- ARGS+=(--project ${{ inputs.project-path }} )
63- ARGS+=(--configuration "${{ inputs.build-configuration }}" )
64- ARGS+=(--results-directory "${{ inputs.test-results-directory }}" )
65-
66- if [[ "${{ inputs.use-trf-logger }}" == "true" ]]; then
67- ARGS+=(--report-trx )
68- fi
61+ run : echo "TRX_LOGGER_ARGS=--report-trx" >> $GITHUB_ENV
6962
70- if [[ "${{ inputs.collect-code-coverage }}" == "true" ]]; then
71- ARGS+=(--coverage )
72- ARGS+=(--coverage-output-format "${{ inputs.code-coverage-output-format }}" )
73-
74- if [[ -n "${{ inputs.code-coverage-settings-file }}" ]]; then
75- ARGS+=(--coverage-settings:"${{ inputs.code-coverage-settings-file }}" )
76- fi
77- fi
63+ - if : ${{ inputs.collect-code-coverage == 'true' }}
64+ name : ' Set CODE_COVERAGE_ARGS environment variable'
65+ shell : bash
66+ run : |
67+ echo "CODE_COVERAGE_ARGS=--collect:"Code Coverage" --coverage-output-format ${{ inputs.code-coverage-output-format}}" >> $GITHUB_ENV
7868
79- echo "Running: dotnet test ${ARGS[*]}"
80- dotnet test "${ARGS[@]}"
69+ - if : ${{ inputs.collect-code-coverage == 'true' && inputs.code-coverage-settings-file != ''}}
70+ name : ' Set CODE_COVERAGE_ARGS environment variable'
71+ shell : bash
72+ run : |
73+ echo "CODE_COVERAGE_ARGS=${{ env.CODE_COVERAGE_ARGS }} --coverage-settings ${{ inputs.code-coverage-settings-file }}" >> $GITHUB_ENV
74+
75+ - name : ' Test with .NET CLI'
76+ shell : bash
77+ run : dotnet test ${{ inputs.project-path }} --configuration ${{ inputs.build-configuration }} ${{ env.CODE_COVERAGE_ARGS }} ${{ env.TRX_LOGGER_ARGS }} --results-directory ${{ inputs.test-results-directory }}
8178
8279 - name : ' Upload test results'
8380 if : ${{ inputs.upload-test-artifacts == 'true' }}
0 commit comments