Query模块Test Case,有一系列的异常测试,选取其中之一,进行分析,主要是Assert类的用法,代码如下:
这段代码主要是:使用getQueryData方法时,对参数id进行检查(假如是无效或非法的id,则会抛出异常信息)
@Test
public void queryWithInvalidID() {
log.info("Enter GetQueryDataTest queryWithInvalidID()");
try {
log.info("Try to getQueryData");
dcmAPI.getQueryData(-1, QueryType.AVG_PWR, AggregationLevel.SELF, startTime,
oneCycleEndTime, FREQUENCY);
log.info("getQueryData finished");
Assert.fail("Should get exception here!");
} catch (Exception e) {
Assert.assertFalse("Should not get exception "
+ e.getClass().getSimpleName() + ": " + e.getMessage(),
Utilities.isNotExceptedException(e,
"DcmIllegalIdException", null));
}
log.info("Exit GetQueryDataTest queryWithInvalidID()");
}
fail
public static void fail(java.lang.String message)
Fails a test with the given message.
Parameters:
message - the identifying message for the AssertionError (null okay)
See Also:
AssertionError
assertFalse
public static void assertFalse(java.lang.String message,
boolean condition)
Asserts that a condition is false. If it isn't it throws an AssertionError with the given message.
Parameters:
message - the identifying message for the AssertionError (null okay)
condition - condition to be checked
以上两个方法的用法说明摘录自:http://junit.org/apidocs/org/junit/Assert.html
我的简单说明:
Assert.Fail (String):运行到该句时,直接使该断言失败,并且将括号中的String参数直接显示出来;
assertFalse(java.lang.String message,boolean condition):判断参数condition是否为false,假如该参数值为true,则抛出含有参数message值的异常信息。
下面,我们再来分析上述测试代码:
1.Assert.fail("Should get exception here!");
该句的意思是说:根据上面的代码
dcmAPI.getQueryData(-1, QueryType.AVG_PWR, AggregationLevel.SELF, startTime,oneCycleEndTime, FREQUENCY);
参数-1,应该遇到异常,从try代码块跳出到catch代码块中了,竟然还走到了这一句,就是有问题了,所以直接使断言失败,并打印出错误信息:"Should get exception here!"
2.
Assert.assertFalse("Should not get exception "
+ e.getClass().getSimpleName() + ": " + e.getMessage(),
Utilities.isNotExceptedException(e,
"DcmIllegalIdException", null));
这段的意思: 假如此处捕获到的异常信息e不是我们期望的异常DcmIllegalIdException,则Utilities.isNotExceptedException()的返回结果是true,则会使断言失败,并且打印出异常信息“Should not get exception ”+e,也就是说:我们在此处不应该捕获e这种异常信息的(我们应该捕获的是DcmIllegalIdException)
分享到:
相关推荐
3. **Assert.assertTrue()** 和 **Assert.assertFalse()**:检查布尔表达式是否为真或假。 4. **Assert.fail()**:当预期的情况没有发生时,主动触发测试失败。 三、Eclipse中进行Junit单元测试的步骤 1. **创建...
JUnit4 提供了丰富的断言方法,如 `assertEquals()`、`assertTrue()`、`assertFalse()` 等,用于验证测试结果是否符合预期。这些断言方法可以帮助开发者检查测试结果的有效性和正确性。 #### 六、JUnit4的高级特性 ...
`assertTrue` 和 `assertFalse` 这两个断言用于验证布尔表达式的真假。 - **`assertTrue`**: - **函数原型**:`assertTrue([String message], Boolean condition)` - **参数说明**: - `message`:可选的消息...
在软件开发过程中,单元测试作为确保代码质量的关键步骤之一,对于提高程序的可靠性和稳定性具有重要作用。对于Shell脚本而言,虽然其语法相对简单,但随着脚本功能的复杂化,进行有效的单元测试变得愈发重要。本文...
在Selenium测试中,我们可以结合unittest进行断言,如`assertIn()`和`assertNotIn()`,它们分别用来检验一个元素是否包含在另一个元素中。例如,检查某个文本是否出现在页面上: ```python from unittest import ...
- `assertTrue`和`assertFalse`用于检查布尔表达式的真假。 - `assertEquals`用于验证两个对象或原始类型的值是否相等。 - `assertNotNull`和`assertNull`分别检查对象是否非空或为空。 - `assertSame`确保两个...
在测试中,你可以使用 `assertTrue`、`assertFalse` 等断言方法来验证预期结果。如果预期的结果没有得到满足,`assert` 函数会抛出一个失败异常。如果你期望某个异常被抛出,但实际没有抛出,可以使用 `fail` 方法来...
- assert():它接受一个可选的注释和一个布尔值,用来测试一个条件是否为真。 - assertTrue():测试一个条件是否为真。 - assertFalse():测试一个条件是否为假。 - assertEquals():测试两个值是否相等。 - ...
2. **断言机制**:JUnit 提供了一系列断言方法,如 `assertEquals`、`assertTrue`、`assertFalse`、`assertNotNull`、`assertNull`、`assertSame`、`assertNotSame` 和 `assertArrayEquals`,帮助开发者验证程序的...
JUnit通过提供一系列断言(Assert)方法,如`assertEquals()`用于比较预期结果与实际结果,`assertFalse()`和`assertTrue()`用于验证条件是否为真或假,`assertNotNull()`和`assertNull()`用于检查对象是否为空,`...