如何解决单元测试中未捕获预期的异常
我有一个“DbCommand”类的单元测试,它在其构造函数中验证第一个参数是否接收“?”价值。如果是,则抛出 ArgumentException。
CONSTRUCTOR PUBLIC DbCommand (dbConnection AS DbConnection,cInstruction AS CHaraCTER):
IF (dbConnection = ?) THEN
UNDO,THROW NEW ArgumentException("DbConnection must be valid":U) .
在单元测试中,我用“?”分配第一个参数验证是否抛出异常。为此,我补充说:
@Test (expect="System.ArgumentException").
METHOD PUBLIC VOID TestDbCommand ():
DEFINE VARIABLE oDbCommand AS DbCommand NO-UNDO .
oDbCommand = NEW DbCommand(?,"Delete") .
但是单元测试失败,失败跟踪的第一行是: “System.ArgumentException:DbConnection 必须有效”
即使我已经在期待这个?我还有几个地方是我使用了确切的异常并且能够在@Test 标头中捕获它。但在这里它不起作用。
解决方法
@Test 注解需要使用预期的属性,而不是“预期”的预期异常。
而且我不是 100% 确定(以前从未使用过),如果 ABLUnit 支持以这种方式处理 .NET 异常 - 改用 ABL Error 类可能更安全。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。