@@ -136,7 +136,7 @@ public class CoverletConsoleUtil_Tests
136136 private CoverletConsoleUtil coverletConsoleUtil ;
137137 private bool executed ;
138138 private readonly List < string > coverletSettings = new List < string > { "setting1" , "setting2" } ;
139- private readonly ExecuteResponse successfulExecuteResponse = new ExecuteResponse { ExitCode = 3 } ;
139+ private readonly ExecuteResponse successfulExecuteResponse = new ExecuteResponse { ExitCode = 3 , Output = "Successful output" } ;
140140
141141 [ SetUp ]
142142 public void SetUp ( )
@@ -165,21 +165,15 @@ public async Task Should_Execute_The_Request_From_The_Execute_Request_Provider_W
165165 public async Task Should_Log_Settings_Before_Executing ( )
166166 {
167167 var mockLogger = mocker . GetMock < ILogger > ( ) ;
168- var logged = false ;
169168 mockLogger . Setup ( logger => logger . Log ( It . IsAny < IEnumerable < string > > ( ) ) ) . Callback < IEnumerable < string > > ( messages =>
170169 {
171- if ( ! logged )
170+ var msgList = messages as List < string > ;
171+ Assert . Multiple ( ( ) =>
172172 {
173- logged = true ;
174-
175- var msgList = messages as List < string > ;
176- Assert . Multiple ( ( ) =>
177- {
178- Assert . That ( msgList [ 0 ] , Is . EqualTo ( "Coverlet Run (TheProjectName) - Arguments" ) ) ;
179- Assert . That ( msgList . Skip ( 1 ) , Is . EquivalentTo ( coverletSettings ) ) ;
180- Assert . That ( executed , Is . False ) ;
181- } ) ;
182- }
173+ Assert . That ( msgList [ 0 ] , Is . EqualTo ( "Coverlet Run (TheProjectName) - Arguments" ) ) ;
174+ Assert . That ( msgList . Skip ( 1 ) , Is . EqualTo ( coverletSettings ) ) ;
175+ Assert . That ( executed , Is . False ) ;
176+ } ) ;
183177 } ) ;
184178
185179 await RunSuccessfullyAsync ( ) ;
@@ -191,20 +185,41 @@ public async Task Should_Log_Settings_Before_Executing()
191185 public void Should_Throw_With_ExecuteResponse_Output_When_ExitCode_Is_Greater_Than_3 ( )
192186 {
193187 var failureExecuteResponse = new ExecuteResponse { ExitCode = 4 , Output = "failure message" } ;
194- Assert . ThrowsAsync < Exception > ( ( ) => RunAsync ( failureExecuteResponse ) , "failure message" ) ;
188+ var exception = Assert . ThrowsAsync < Exception > ( async ( ) => await RunAsync ( failureExecuteResponse ) ) ;
189+
190+ Assert . That ( exception . Message , Is . EqualTo ( "Error. Exit code: 4" ) ) ;
195191 }
196192
197193 [ Test ]
198- public void Should_Log_With_ExecuteResponse_Output_When_ExitCode_Is_Greater_Than_3 ( )
194+ public void Should_Log_With_ExecuteResponse_ExitCode_And_Output_When_ExitCode_Is_Greater_Than_3 ( )
199195 {
200196 var failureExecuteResponse = new ExecuteResponse { ExitCode = 4 , Output = "failure message" } ;
201197
202-
203- Assert . ThrowsAsync < Exception > ( ( ) => RunAsync ( failureExecuteResponse ) , "failure message" ) ;
198+ Assert . ThrowsAsync < Exception > ( ( ) => RunAsync ( failureExecuteResponse ) ) ;
204199
205200 var mockLogger = mocker . GetMock < ILogger > ( ) ;
206201 mockLogger . Verify ( logger => logger . Log ( "Coverlet Run (TheProjectName) Error. Exit code: 4" , "failure message" ) ) ;
207202 }
203+
204+ [ Test ]
205+ public async Task Should_Log_The_ExecuteResponse_Output_On_Success ( )
206+ {
207+ var mockLogger = mocker . GetMock < ILogger > ( ) ;
208+ mockLogger . Setup ( logger => logger . Log ( It . IsAny < string [ ] > ( ) ) ) . Callback < string [ ] > ( messages =>
209+ {
210+ Assert . Multiple ( ( ) =>
211+ {
212+ Assert . That ( messages , Is . EqualTo ( new string [ ] { "Coverlet Run (TheProjectName) - Output" , successfulExecuteResponse . Output } ) ) ;
213+ Assert . That ( executed , Is . True ) ;
214+ } ) ;
215+
216+ } ) ;
217+
218+ await RunSuccessfullyAsync ( ) ;
219+
220+ mockLogger . Verify ( ) ;
221+ }
222+
208223 private async Task RunSuccessfullyAsync ( )
209224 {
210225 await RunAsync ( successfulExecuteResponse ) ;
0 commit comments