自动发现TEST.jar依赖类路径,实现Randoop生成JUnit测试
问题:自动构建Randoop生成测试所需的类路径
背景
我需要使用Randoop工具为TEST.jar生成JUnit测试,需从包含数千个jar包的ABC目录中动态构建类路径myclasspath。生成测试的命令如下:
java -classpath myclasspath:${RANDOOP_JAR} randoop.main.Main gentests --testjar=TEST.jar --output-limit=100
其中RANDOOP_JAR为randoop-all-4.3.2.jar的路径,myclasspath是TEST.jar运行测试时依赖的ABC目录中相关jar包路径列表。
遇到的问题
执行上述命令时出现java.lang.NoClassDefFoundError错误。我曾用以下Shell脚本查找包含缺失类的jar包:
for i in $(ls -R ABC/*.jar);do jar -tvf $i | grep missing-class && echo $i;done
该方法不仅原始,而且因jar包数量庞大,执行起来非常耗时。
需求
寻求工具或可行方法,只需输入TEST.jar和ABC目录,即可自动输出所需的类路径列表。
内容的提问来源于stack exchange,提问作者maverick
相关产品推荐
相关产品推荐

