zoukankan      html  css  js  c++  java
  • Ruby自动化测试(操作符的坑)

    事情是这样的:

    1 times++
    2 @ddr = DDR::DDR.new()

    执行到这里的时候,总是报错:'+@' undefied method。刚开始的时候以为是机器在重启过程中一些不稳定函数调用或者参数混乱造成的。于是改成:

    times++
    sleep(60 * 5)
    @ddr = DDR::DDR.new()

    总算是这步的错不报了,跳过去了。可是发现 times 的值在执行了多次之后没有变化。

    事情的原因是:Ruby不支持 ++ 自增操作符。

    begin
    
    
    rescue
    #times++ times
    += 1 sleep( 60 * 5) @ddr =
    retry if times < 2 end

    当 times++ 在rescue 上面的时候,代码为 syntax error,可是放到 rescue里面就不报错了,可以执行。应该是和ruby 的exceptiion机制有关。

    自己挖了个大坑,block了一周的时间,收获如下:

    1.在内心里有 “ruby不支持自增操作符”的印象,可是记忆不准确,也不确定。

    2.解决问题的思路应该修改,把所有可能出错的原因列在纸上,一条条排除,不应该忽略简易的可能出错原因。

    3.ruby学的太笼统了,很多原理不了解,加强基本知识的补充。受C++思想影响了。弄懂这不明白的点,阶段性整理。 

  • 相关阅读:
    check事件
    JAVA----泛型
    JAVA集合的遍历for循环、Iterator迭代器
    JAVA 集合的定义分类
    JAVA面向对象---方法的重写与重载
    JAVA 面向对象---继承
    JAVA 面向对象
    JAVA ArrayList集合
    JAVA基础测试
    JAVA中 引用数据类型(类)
  • 原文地址:https://www.cnblogs.com/qingcheng/p/3729849.html
Copyright © 2011-2022 走看看