Fork me on GitHub

Randoop测试类和方法(用例自动生成)

详细使用方法见randoop官网:  https://randoop.github.io/randoop/manual/index.html  

 

测试程序之前,先检测下你的Randoop是否配置好:

打开cmd,输入命令  java -ea -classpath %RANDOOP_JAR% randoop.main.Main help  

用randoop测试java类:

比如测试一个Triangle.java程序(代码见本人软件测试assertEquals的博客),首先提取出Triangle.class,然后创建一个txt文件命名为myclasses.txt,文件内容为测试的类名(仅是类名,无后缀),都放在同一个目录下,比如放在E:\test文件夹内。

测试开始:在cmd输入命令  java -classpath .;%RANDOOP_JAR%  randoop.main.Main  gentests  --classlist=myclasses.txt  --timelimit=6

    ▲1‘  输入命令的路径为防止class和txt文件的路径

     2’  classpath是一个横杠,后面classlist和timelimit是两个横杠

     3‘  classlist后面是包含要测试类名的txt文件名,timelimit是测试运行时间限制

     4'  cmd切换目录的方法:磁盘的切换直接输入 E:即可,若要进入某个文件夹,逐次输入  cd   foldername

若是运行成功,会在当前目录下出现两个测试结果的java文件。

 

▲有时候运行该命令到会出现如下错误:

问题出在jdk的问题,解决方法:

  cmd输入  java  -version   查看jdk版本;然后在环境变量设置里查看JAVA_HOME和Path里面的jdk版本,不一样的话,就是jdk冲突问题,在path和classpath里面讲java的路径提到最前面,将JAVA_HOME的路径加上英文双引号;然后确定后重启运行上述命令。若是还是未解决,则在c盘windows该目录下C:\Windows\System32  搜索java,删掉java的相关文件即可。

用Randoop测试类的方法:

  同上述同一个目录下,先删去生成的两个测试类的java文件,新建mymethod.txt文件放置类名和方法名(如图以Triangle为例),格式如下:

cons:类名.<init>(类型1,类型2.....)

method:类名.方法名(类型1,类型2.....)

method:类名.方法名(类型1,类型2.....)

method:类名.方法名(类型1,类型2.....)

运用classlist和methodlist命令测试。

 创建好后,在cmd输入命令  java -classpath .;%RANDOOP_JAR%  randoop.main.Main  gentests  --classlist=myclasses.txt  --methodlist=mymethods.txt --timelimit=6

运行成功后在当前目录下会生成两个名字同第一个测试相同的java文件,不过内容不一样。

 

 

posted @ 2017-07-11 17:43  sunwengang  阅读(2196)  评论(0编辑  收藏  举报