目前手里有个测试项目各个feature的测试用例都放在对应的子目录下,虽然有自动化测试框架的帮助执行起来很方便,但是偶尔也有需要在本地执行某个feature的全部测试用例集合.因为本人对shell脚本不熟悉,所以Ruby的问题还是用Ruby来解决. 每个测试脚本的命名遵循如下规范:Testlink ID + 测试用例名字.比如100_invalid_signature.rb表示该测试用例在Testlink里的ID是100,用来测试无效签名.在脚本的实现中,测试用例的名字就对应为TC_100.例子…
<Ruby元编程> 第二章 对象模型 类定义揭秘inside class definitions: class关键字更像一个作用域操作符,核心作用是可以在里面随时定义方法. [].methods.grep(/^re/):调用 出Array的所有以re开头的method. Monkeypatch:涉及全局修改,定义某个方法前应该仔细检查该类是否已有同名的方法. 实例对象存放在对象中,方法存放在类中. 类的真相:类本身也是对象.Ruby允许在运行时修改类的信息. Class.instance_me…
第4章代码块blocks 基础知识 作用域:用代码块携带variables through scopes 通过传递block给instance_eval方法来控制作用域. 把block转换为Proc,lambda这样的可反复调用的对象.4.5 4.12基础 def a_method(a,b)   a + yield(a,b) end p a_method(2,1){|x, y| x * y}  #=>4 4.3代码块是闭包Closures 定义一个块时,它会获取当前环境中的绑定bingding,…
元编程不过是编程--经典必读 作用域(绑定) 打破作用域门的方式 对象模型图 七条规则 法术手册 作用域(绑定) 改变作用域的关键字, 分别是module,class和def.我们称为作用域的门(scope gate) instance_eval以实例作用域执行代码 class_eval以类定义作用域执行代码 Kernel#eval方法,当前上下文中直接执行代码字符串 instance_eval class_eval 对象 单例方法 -- 类名(元类对象) 类方法 实例方法 表格是不精准.不完备…
上个星期测试道的Monkey老师和我聊到测试用例参数过多的问题,其实这样的问题在我这里也同样经历过.比如我的测试用例必须面对不同的测试环境,每个环境有无数的参数,开发的最初阶段,因为参数少,所以就放在执行的命令行里,随着测试用例的不断增长,参数从4-5个增长到30多个,而且每个用例使用的参数也不完全相同,有使用ABCD的,有使用ADHJ的.另外有些参数想传一个数组进去,用命令行参数的方法就很难处理. 经过考虑,果断的使用配置文件来解决问题.选择配置文件当时有两个方案,一个是直接写成Ruby代码,…
前几天看了Google Testing Blog上的一篇文章讲到C++因为没有反射机制,所以如何注册测试用例就成了一件需要各显神通的事情.从我的经验来看,无论是Google的GTest还是微软的LTM,都是通过宏来解决问题.但是对于Ruby之流的动态语言,这种事情太小菜一叠了.请看以下代码例子: class Test def test_001 puts 'test_001' end def test_002 puts 'test_002' end end t = Test.new test_me…
使用kettle设计ETL设计完成后,我们就需要按照我们业务的需要对我们设计好的ETL程序,ktr或者kjb进行调度,以实现定时定点的数据抽取,或者说句转换工作,我们如何实现调度呢? 场景:在/works/wxj/test目录下放着两个ktr模型,我们需要每天晚上24点定时抽取数据 如图所示: 方法一:最简单的方法就是设计一个kjb,拖两个ktr控件,把两个ktr模型串起来,然后定时的调度这个kjb文件即可实现每天定时的抽取数据. 方法二:如果随着业务的增多,ktr文件原来越多,那么上面的情况操…
一 对象模型 kernel Module Kernel.private_instance_methods.grep(/^pr/)   private method 1 如果一个方法接收者不是你自己,一定要指定一个接收者 2 私有方法 只能指定一个隐含接收者(可调超类的私有方法) 类本身是Class类的对象.类的名字是个常量 Class<Module,模块和类的名字扮演目录角色,按树形结构组织 include Module时 M被插入到祖先链中,在该类的正上方 二 方法 obj.send(:met…
主要是为了统计linux系统下一个指定目录下面的普通文件个数,运用目录操作的一些函数,配合递归调用来实现该功能. 首先介绍一下函数原型: 打开一个空目录                    DIR *opendir(const char *name);                    参数: 目录名                    返回值: 指向目录的指针        读目录                    struct dirent *readdir(DIR *dirp)…
Spell,也称pattern,idiom # Around Alias:从一个重新定义的方法中调用原始的,被重命名的版本. # old_reverse是未改变的原始方法,reverse/new_reverse是改变的方法. class String   def new_reverse     "x:#{old_reverse}"   end   alias_method :old_reverse, :reverse   alias_method :reverse, :new_reve…
yield yield self Proc yield带参数 rails中:yield 和 content_for methods.proc.lambda.block 闭包(用proc延长变量的生命周期) method_missing终止对祖先链(ancestors)的查找 p.puts.print 正则.字符相关特殊符号 Module 是 Class 的基类,但Module不能实例化,并且只能与类一同使用 异常 元编程 类打开,添加新方法,如何删减方法 创建单例方法 创建类方法 变量归属 se…
为了安全期间,有时我们需要限制网站下的某些目录对于php脚本不能执行. 有两种方法可以参考: 1.  使用.htaccess 文件限制 在要限制php执行的目录下,创建.htaccess文件,加入内容 php_flag engine off 2. 使用apache的配置文件httpd.conf 在相关的虚拟主机段,加入 <Directory /www/htdocs/path> php_admin_flag engine off </Directory> 注意:此处配置要使用绝对路径…
同函数式编程类似,元编程,看上去像一门独派武学. 在 <Ruby元编程>一书中,定义:元编程是运行时操作语言构件的编程能力.其中,语言构件指模块.类.方法.变量等.常用的主要是动态创建和访问类和方法.元编程,体现了程序的动态之美. 对于 Java 系程序员来说,不大会使用 Ruby 编程, 更多会考虑 Java 的近亲 Groovy . 本文将简要介绍 Groovy 元编程的语言特性.Groovy 元编程基于 MOP 协议. 元编程特性 轻松运行时 在 Java 中,要访问私有实例变量或方法,…
Python的元编程案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是元编程 元编程概念来自LISP和smalltalk. 我们写程序是直接写代码,是否能够用代码来生成未来我们需要的代码吗?这就是元编程. 例如,我们写一个类class A,能否用代码生成一个类出来? 用来生成代码的程序称为元程序metaprogram,编写这种程序就称为元编程metaprogramming. Python语言能够通过反射实现元编程. Python中所有非object类都继承自obj…
因为是C++选手所以大部分带有Dev遗留的...格式 colorscheme molokai"配色方案,注意molokai不是自带而是自己调配的,SublimeText3标准配色,想要的点这里 syntax on"语法高亮 set number"左侧行号 set smartindent"智能对齐 set shiftwidth=4"行首宽度 set softtabstop=4"智能对齐时tab的宽度 set tabstop=4"tab的宽…
php的目录下的ext目录,如果你只需要一个基本的扩展框架的话,执行下面的命令: ./ext_skel --extname=module_name module_name是你自己可以选择的扩展模块的名字,例如我选择的my_module.执行工具后会自动在ext目录下建立你选择的module_name名字的目录,里面已经生成了相关的代码,这些代码中只需要调整config.m4文件中的三行注释就可以正常的编译带这个自定义扩展模块的php了.在php的根目录执行下列操作就可以得到. ./buildco…
关于解决pyinstaller2.1将.py打包成exe文件在中文目录下不能执行的问题 这个问题困扰我好久了,今天终于非常偶然的在http://www.v2ex.com/t/113856#reply10看到了@pc10201说的,pyinstaller2.1会出现这个问题,换用pyinstaller2.0就可以在中文目录下执行了,我于是去找了一下pyinstaller2.0,我上传到网盘了,http://pan.baidu.com/s/1pJ5CvYb 这个问题我搜索了很久,终于找到解决的问题了…
pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0…
让SH/BAT脚本定位到运行目录的相对位置 实现其脚本可在任意运行目录下被正确执行 在Linux下的bash脚本 #!/bin/bash cd `` 在Windows下的BAT脚本 echo off cd /d %~dp0 cls…
Linux上执行Shell脚本运行失败提示Permission denied一个问题,挺好的问题,切中了知识盲点. 问题现象 Shell脚本在/tmp目录下,执行./test.sh运行失败,提示Permission denied. 问题分析 1.检查ls -al test.sh脚本是否有可执行权限.权限为777.看来套路不行啊..以前通常90%都是这个原因引起的. 2.尝试使用sh test.sh运行,可以执行.为啥.. 3.是/tmp目录没有执行权限?执行stat / 和stat /tmp发现…
转载自https://www.jianshu.com/p/0a2ebb07da54 非$GOPATH目录下的go mod项目 $ go mod init test $ cat go.mod module test go 1.12 $ go get github.com/jinzhu/gorm $ cat go.mod module test go 1.12 require github.com/jinzhu/gorm v1.9.8 // indirect 可见,在go mod初始化的项目目录下执…
Linux /tmp目录下执行脚本失败提示Permission denied https://www.cnblogs.com/linyfeng/p/11087655.html 国产化的环境上 就有一个 data 目录 提示没有 权限 解决oracle问题时 顺便扫了一眼 原作者的blog 发现有这个问题.. 非常感谢. 我这边的原始的fstab 的文件信息 # /etc/fstab: static file system information. # # Use 'blkid' to print…
import os import time #需要你改的就这3个参数 #path是放你jmx脚本的文件夹路径 path="D:\\桌面\\每次都是从共享上考最新的\\" #jtl_path是放jtl文件的地方,找个地方创建个这么的文件夹就行 jtl_path = "E:\\jmeterlog\\jtl\\" #html_path是放报告的,你执行看报告就行. html_path = "E:\\jmeterlog\html\\" def test(…
环境:Windows selenium 3.141.0 Python 3.8.10 Chrome 90.0.4430.212 ChromeDriver 90.0.4430.24 最近发现执行完Selenium脚本后,在个人的Temp目录下会有大量的临时文件夹.类似下面这样 C:\Users\Administrator\AppData\Local\Temp\chrome_url_fetcher_19412_239410040 C:\Users\Administrator\AppData\Local…
使用Qt5.9.3+vs2017环境,编译项目生成Debug目录,运行其中的exe文件,出现以下错误(qt creator调试状态下或出安装包后是可以运行的): 经过查阅资料,发现是我重新配置Qt开发环境后忘记配置环境变量.当我们用Qt Creator直接运行时,不报错是因为Creator自己去找对应的dll,但直接运行debuge目录下的exe时,其只会在当前exe运行目录以及window环境变量目录中去找dll.当找不到时程序就会提示无法找到xxx.dll. 操作步骤如下: 1.双击编辑系统…
ls |wc 是统计你这个目录下的文件数目.ls |wc -l是输出第一个结果即31即文件的数目.…
假定目录text下有如下文件      目录:dir_1.dir_2.dir_3 文件:text_1.text_2 遍历目录下所有的文件是目录还是文件 if -- if类型: #!bin/sh for file in ./* do     if test -f $file     then         echo $file 是文件     fi     if test -d $file     then         echo $file 是目录     fi done if --else…
在Unix/Linux系统中,要获取一个指定目录下所有的文件或文件夹,一般用dirent.h(POSIX标准定义的目录操作头文件). 一.数据类型 在头文件<dirent.h>中定义了两种主要的数据类型. DIR:代表一个目录流的结构体. struct __dirstream { void *__fd; /* 'struct hurd_fd' pointer for descriptor.*/ char *__data; /* Directory block. */ int __entry_d…
李哲 - MAY 20, 2015 原文地址:Metaprogramming Dynamic Methods: Using Public_send 作者:Friends of The Web的开发者Vaidehi,OneAPM官方技术博客编译整理. 在上周,我写了一些让我感到非常骄傲的代码!当时,我正努力解决一个有趣的问题,这个问题也是我最近开发的一款应用中所遇到的.于是我把脑海中想到的第一种解决办法很快付诸了实践.然后,当我回过头来查看文本编辑器,并认真审阅完自己所写的代码时,终于意识到:这些…
目录 1 C++ 中的元编程 1.1 什么是元编程 1.2 元编程在 C++ 中的位置 1.3 C++ 元编程的历史 2 元编程的语言支持 2.1 C++ 中的模板类型 2.2 C++ 中的模板参数 2.3 模板的重载和绑定 -- 特化和实例化 3 元编程的基本演算 3.1 编译时测试 3.1.1 测试表达式 3.1.2 测试类型 3.1.3 使用 if 进行编译时测试 3.2 编译时迭代 3.2.1 定长模板的迭代 3.2.2 变长模板的迭代 4 元编程的基本应用 4.1 数值计算 4.2 类…