@@ -172,23 +172,24 @@ public void RegisterHandler_WithMultipleVerbs_MatchesCorrectCommand()
172172 // Assert
173173 Assert . IsNull ( capturedAddItem ) ;
174174 Assert . AreEqual ( "item2" , capturedRemoveItem ) ;
175- }
176-
177- [ TestMethod ( "2.3. 未提供谓词时不匹配任何命令" ) ]
178- public void RegisterHandler_WithNoVerbProvided_NoCommandMatched ( )
175+ } [ TestMethod ( "2.3. 未提供谓词时不匹配任何命令抛出CommandVerbNotFoundException" ) ]
176+ public void RegisterHandler_WithNoVerbProvided_ThrowsCommandVerbNotFoundException ( )
179177 {
180178 // Arrange
181179 string [ ] args = [ "item3" ] ;
182180 bool addHandlerCalled = false ;
183181 bool removeHandlerCalled = false ;
184182
185- // Act
186- CommandLine . Parse ( args , Flexible )
187- . AddHandler < AddOptions > ( _ => addHandlerCalled = true )
188- . AddHandler < RemoveOptions > ( _ => removeHandlerCalled = true )
189- . Run ( ) ;
183+ // Act & Assert
184+ var exception = Assert . ThrowsException < CommandVerbNotFoundException > ( ( ) => {
185+ CommandLine . Parse ( args , Flexible )
186+ . AddHandler < AddOptions > ( _ => addHandlerCalled = true )
187+ . AddHandler < RemoveOptions > ( _ => removeHandlerCalled = true )
188+ . Run ( ) ;
189+ } ) ;
190190
191- // Assert
191+ // 确认异常包含正确的谓词信息
192+ Assert . IsTrue ( exception . Message . Contains ( "item3" ) ) ;
192193 Assert . IsFalse ( addHandlerCalled ) ;
193194 Assert . IsFalse ( removeHandlerCalled ) ;
194195 }
@@ -304,22 +305,22 @@ public void HandlerException_PropagatedToCaller()
304305 } ) ;
305306
306307 Assert . AreEqual ( expectedException . Message , exception . Message ) ;
307- }
308-
309- [ TestMethod ( "4.2. 未找到匹配的处理器时返回非零退出代码" ) ]
310- public void NoMatchingHandler_ReturnsNonZeroExitCode ( )
308+ } [ TestMethod ( "4.2. 未找到匹配的处理器时抛出CommandVerbNotFoundException" ) ]
309+ public void NoMatchingHandler_ThrowsCommandVerbNotFoundException ( )
311310 {
312311 // Arrange
313312 string [ ] args = [ "unknown-verb" ] ;
314313
315- // Act
316- int exitCode = CommandLine . Parse ( args , Flexible )
317- . AddHandler < AddOptions > ( _ => { } )
318- . AddHandler < RemoveOptions > ( _ => { } )
319- . Run ( ) ;
314+ // Act & Assert
315+ var exception = Assert . ThrowsException < CommandVerbNotFoundException > ( ( ) => {
316+ CommandLine . Parse ( args , Flexible )
317+ . AddHandler < AddOptions > ( _ => { } )
318+ . AddHandler < RemoveOptions > ( _ => { } )
319+ . Run ( ) ;
320+ } ) ;
320321
321- // Assert
322- Assert . AreNotEqual ( 0 , exitCode ) ;
322+ // 确认异常包含正确的谓词信息
323+ Assert . IsTrue ( exception . Message . Contains ( "unknown-verb" ) ) ;
323324 }
324325
325326 [ TestMethod ( "4.3. 必需属性未赋值时抛出异常" ) ]
0 commit comments