JUnit的断言 Assert

何为 断言:
断言不仅仅是 一个报错函数,它也是一个宏,并且作用并非“报错”。

assert()的用法像是一种“契约式编程”,在我的理解中,它所表达的意思就是 程序在我的假设条件下,能够正常良好的运作,
其实就相当于一个if语句。
if(假设成立){
程序正常运行
}else{
报错或者终止程序! 避免由程序运行引起 更大的错误
}

它的用法总结以及注意事项:
1)、在函数开始处检验传入参数的合法性:
2)、每个断言Assert 只检验一个条件,因为同时检验多个条件时,如果断言失败,就无法确定是 哪个条件 导致失败:

ASSERT ()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0),
程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,
如果出现了终止程序以免导致严重后果,同时也便于查找错误

何为Selenium 命令分类:
1)、 操作 action: 模拟用户与web应用程序做交交互,如果一个动作执行失败,或是有错误,当前的测试将会停止执行
action命令: open、click、clickAndWait、type、select(选择下拉框)、selectWindow(选择弹出窗口)、
pause(等待指定时间,以毫秒为单位,即要睡眠的时间)、setSpeed(设定执行速度)、setTimeout(指定等待动作完成的等待时间。默认为30秒)。。。。。。

click和clickAndWait的区别:
clickAndWait--》 click后 会有一个默认的页面等待时间为 30秒(AndWait后缀表明: 这个命令将使浏览器向服务器产生一个请求,使selenium等待加载一个新的页面) ;但click没有等待时间
相当于多了一个: waitForPageToLoad("30000")

2)、辅助 accessors: 这是一个辅助工具 用于检查应用程序的状态并将结果存储 到变量中:
如 : storeElementPresent(locator,variableName)
其中参数: locator 表示元素定位器; variabkeName用于存储结果的变量名,即将locator定位到的状态存储到 variableName变量中。
如果元素 出现,返回true, 否则返回false

3)、断言: assertion验证应用程序 的状态是否同 与所期望的预期一致
常见的断言包括: 验证页面内容,如标题是否为"三鑫油马客户端" 、 当前位置是否正确 、 该复选框是否被勾选等等。

3.1) 断言用于三种模式: assert 、 verity 、 waitfor

3.1.1) Assert 失败时,该测试将终止。

3.1.2) Verify 失败时,该测试将继续执行,并将错误记入日显示屏。也就是说允许此单个 验证通过。确保应用程序在正确的页面上。

3.1.3) Waitfor用于等待某些条件变为真。可用于AJAX应用程序的测试。

如果该条件为真,他们将立即成功执行。如果该条件不为真,则将失败并暂停测试。直到超过当前所设定的超时时间。 一般跟setTimeout时间一起用

时间: 2024-12-21 03:06:54

JUnit的断言 Assert的相关文章

Junit 测试断言说明

Assert.assertEquals("发生错误时报告消息","预期值","生产值"); Assert.assertEquals("精确两位小数点",3.33,10.0/3.0,0.01); Assert.assertNotNull("");//验证是否为非空 Assert.assertNull(""); //验证是否为空 Assert.assertSame("",

junit中的assert方法总结

junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类.1.assertTrue/False([String message,]boolean condition);    判断一个条件是true还是false.感觉这个最好用了,不用记下来那么多的方法名. 2.fail([String message,]);    失败,可以有消息,也可以没有消息. 3.assertEquals([String message,]Object expected,Ob

C语言中断言ASSERT

我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非"报错". 在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种"契约式编程",在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句: if(假设成立) { 程序正常运行: } else { 报错&&终止程序!(避免由程序运行引起更大的错误) } 但是这样写的话,就会有无数个if语句,甚至会出现,

C++断言assert

assert宏是在标准库中提供的.它在库文件<cassert>中声明,它能够在程序中測试逻辑表达式,假设指定的逻辑表达式是false,assert()就会终止程序,并显示诊断消息.关闭断言使用#define NDEBUG,该语句会忽略转换单元中的全部断言语句.并且这个指令仅放在#include <cassert>之前才有效.示比例如以下: #include <iostream> #define NDEBUG //关闭断言 #include <cassert>

01 java断言assert初步使用:断言开启、断言使用

参考文件:http://blog.sina.com.cn/s/blog_59c9412d0100fd55.html 1 说明 java断言assert是jdk1.4引入的. jvm断言默认是关闭的. 断言可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”. 断言只适用复杂的调式过程. 断言一般用于程序执行结构的判断,千万不要让断言处理业务流程. 2 判断eclipse是否开启了断言 代码如下: public static void main(String args[

断言Assert的使用

转载地址:http://www.cnblogs.com/moondark/archive/2012/03/12/2392315.html 我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”. 在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句: if(假设成立){ 程序正常运行:}else{ 报错&&终止程序

断言(assert)的用法

我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”. 在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句: if(假设成立){ 程序正常运行:}else{ 报错&&终止程序!(避免由程序运行引起更大的错误) } 但是这样写的话,就会有无数个if语句,甚至会出现,一个if语句的括号从文件头到文件尾,并且大多数情

android中单元测试中的断言assert的使用与扩展

首先看一组对比,比如说我们要测试的结果是一个Linearlaout AssertJ Android: assertThat(layout).isVisible() .isVertical() .hasChildCount(4) .hasShowDividers(SHOW_DIVIDERS_MIDDLE); Regular JUnit: assertEquals(View.VISIBLE, layout.getVisibility()); assertEquals(VERTICAL, layout

Java断言assert

public class Welcome{ public static void main(String[] args){ assert false; System.out.println("Welcome world"); } } cmd下输入命令 javac Welcome.java java Welcome 输出为 Welcome world java默认是不开启断言的,这种情况下assert语句将会被跳过不执行. 为了执行assert语句,需要在添加-ea参数,cmd下重新输入