单元测试4之测试单元中预置条件的设置


下面看一个更复杂的例子

1.选中一个手机,加入购物车,结算中心,不打算登陆直接购买;

进入购物流程界面:下面例子针对在配送区域中,当修改国家,省份,或是城市时,
它的下一个下拉框会跟着发生一个变化。

当选择中国时,省份会改为中国的省份,
当省份改为山东省时,城市会改为山东省的城市,
当城市改为济南市时,区域会改为济南市的区域
这个也是靠JavaScripe完成的,
在购物流程界面
点开注册页面----->右键,打开网页源代码 ,进入代码文件,Ctrl+F,输入:配送区域。搜索到的代码区的下面有一段代码“请选择国家”,该段代码有一个region.changed。
下方有一段省份下拉框代码,当运行到这一步,同样会运行该段中region.changed函数,这个改变城市下拉框的取值。
同样,当选中城市下拉框时,也会运行该段中的regio.changed函数,它改变区域的下拉框的值

2.region对应JavaScripe文件名称,change是里面的函数

3.页面右上角三个竖点------>工具----->JavaScript控制台----->sources------>172.16.200.128----->ecshop----->js----->region.js

在该程序中有一个region.changed()函数,该函数调用了region.loadRegions()函数,该函数暂时不用管

4.下面看在运行region.changed()函数时,要先进行预置条件的设置

changed()函数的预置条件有三个参数,
       object:前一个下拉列表
       integer:类型(要改变的是什么数据,是省份数据,还是区域数据)
       string:目标列表框的名称(现在要改变省份的值"省份"就是名称)

5.下面来看object对象是什么

进入JavaScripe的控制台console.
可以通过element ID(对象的ID),来获取.国家对应的element ID是"selcontries_0"在console界面输入

document.getElementById(“selcontries_0”) 回车

继续写入

document.getElementById(“selcontries_0”).value 回车
返回0,意思是"请选择国家"

如果希望第一个框填入中国,因为中国对应value值是"1",可以在console界面输入:

document.getElementById(“selcontries_0”).value = 1 回车

下面调用函数changed()

region.changed(document.getElementById(“selcontries_0”),1,setProvinces_0)
调用之前省份的下拉框没有身份数据,调用该函数后,省份框中有了中国各省份

下面填入非法值

document.getElementById(“selcontries_0”).value = 2222 回车

问什么要这样去测,问什么要输入非法值:

1.当程序运行时可能经过长时间的运行,会有一些内部的错误,如一些内存的区域上的值被误修改等等这样的错误,这些错误产生后,如果 函数不能对它进行合理正确的修改,可能会让错误放大,甚至导致系统的崩盘,这就是常说的系统的成熟性,稳定性高不高,所以对函数的输入参数做各种检查以避免外部问题导致函数运行出现异常,最后影响整个系统运行
第二点,既然系统可以通过JavaScripe改变框中输入的值,那么有些客户也有可能这样做,改变框中的值,针对恶性的输入,也会有些处理手段,这是问什么要做测试的原因

继续在console控制台输入

region.changed(document.getElementById(“selcontries_0”),1,setProvinces_0)
回车后出现Error,不能读取到value的值,因为参数一:document.getElementById(“selcontries_0”)是一个空对象,该对象不存在

继续在console控制台输入

document.getElementById(“selcontries_0”)
这个对象的值是2222,但是根据2222这个值取不到 相应的匹配的数据的,通过这个可以发现通过这个,可以使单元测试更深入一些,通过预置条件的设置能让函数的测试情况更多一些

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值