`
kang
  • 浏览: 472497 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Assert.fail()和Assert.assertFalse()

阅读更多

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()");
	}

 

 

名称 说明
Assert.Fail () 在不检查任何条件的情况下使断言失败。
Assert.Fail (String) 在不检查任何条件的情况下使断言失败。显示消息。
Assert.Fail (String, Object[]) 在不检查任何条件的情况下使断言失败。显示一则消息,并向该消息应用指定的格式。

 

 

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--Junit单元测试.docx

    3. **Assert.assertTrue()** 和 **Assert.assertFalse()**:检查布尔表达式是否为真或假。 4. **Assert.fail()**:当预期的情况没有发生时,主动触发测试失败。 三、Eclipse中进行Junit单元测试的步骤 1. **创建...

    JUnit4使用.pdf

    JUnit4 提供了丰富的断言方法,如 `assertEquals()`、`assertTrue()`、`assertFalse()` 等,用于验证测试结果是否符合预期。这些断言方法可以帮助开发者检查测试结果的有效性和正确性。 #### 六、JUnit4的高级特性 ...

    junit各种断言

    `assertTrue` 和 `assertFalse` 这两个断言用于验证布尔表达式的真假。 - **`assertTrue`**: - **函数原型**:`assertTrue([String message], Boolean condition)` - **参数说明**: - `message`:可选的消息...

    Python selenium实现断言3种方法解析

    在Selenium测试中,我们可以结合unittest进行断言,如`assertIn()`和`assertNotIn()`,它们分别用来检验一个元素是否包含在另一个元素中。例如,检查某个文本是否出现在页面上: ```python from unittest import ...

    软件测试资料

    - `assertTrue`和`assertFalse`用于检查布尔表达式的真假。 - `assertEquals`用于验证两个对象或原始类型的值是否相等。 - `assertNotNull`和`assertNull`分别检查对象是否非空或为空。 - `assertSame`确保两个...

    [ 无敌版]JUNIT基本教程,速成JUNIT

    在测试中,你可以使用 `assertTrue`、`assertFalse` 等断言方法来验证预期结果。如果预期的结果没有得到满足,`assert` 函数会抛出一个失败异常。如果你期望某个异常被抛出,但实际没有抛出,可以使用 `fail` 方法来...

    JSunit入门教程.pdf

    - assert():它接受一个可选的注释和一个布尔值,用来测试一个条件是否为真。 - assertTrue():测试一个条件是否为真。 - assertFalse():测试一个条件是否为假。 - assertEquals():测试两个值是否相等。 - ...

    java单元测试JUnit框架原理与用法实例教程

    2. **断言机制**:JUnit 提供了一系列断言方法,如 `assertEquals`、`assertTrue`、`assertFalse`、`assertNotNull`、`assertNull`、`assertSame`、`assertNotSame` 和 `assertArrayEquals`,帮助开发者验证程序的...

    JUnit——Java测试框架

    JUnit通过提供一系列断言(Assert)方法,如`assertEquals()`用于比较预期结果与实际结果,`assertFalse()`和`assertTrue()`用于验证条件是否为真或假,`assertNotNull()`和`assertNull()`用于检查对象是否为空,`...

Global site tag (gtag.js) - Google Analytics