@@ -172,23 +172,24 @@ public void RegisterHandler_WithMultipleVerbs_MatchesCorrectCommand()
172
172
// Assert
173
173
Assert . IsNull ( capturedAddItem ) ;
174
174
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 ( )
179
177
{
180
178
// Arrange
181
179
string [ ] args = [ "item3" ] ;
182
180
bool addHandlerCalled = false ;
183
181
bool removeHandlerCalled = false ;
184
182
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
+ } ) ;
190
190
191
- // Assert
191
+ // 确认异常包含正确的谓词信息
192
+ Assert . IsTrue ( exception . Message . Contains ( "item3" ) ) ;
192
193
Assert . IsFalse ( addHandlerCalled ) ;
193
194
Assert . IsFalse ( removeHandlerCalled ) ;
194
195
}
@@ -304,22 +305,22 @@ public void HandlerException_PropagatedToCaller()
304
305
} ) ;
305
306
306
307
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 ( )
311
310
{
312
311
// Arrange
313
312
string [ ] args = [ "unknown-verb" ] ;
314
313
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
+ } ) ;
320
321
321
- // Assert
322
- Assert . AreNotEqual ( 0 , exitCode ) ;
322
+ // 确认异常包含正确的谓词信息
323
+ Assert . IsTrue ( exception . Message . Contains ( "unknown-verb" ) ) ;
323
324
}
324
325
325
326
[ TestMethod ( "4.3. 必需属性未赋值时抛出异常" ) ]
0 commit comments