我们有一个Web服务,我们上传文件,并希望编写一个集成测试来上传一个稍大的文件.测试过程需要生成文件(我不想将更大的文件添加到源代码控制中).
我想要生成一个大约50 MB的流来上传.数据本身并不重要.我用一个内存中的对象尝试了这个,这很容易,但我的内存不足.
集成测试是用Groovy编写的,因此我们可以使用Groovy或Java API生成数据.我们如何生成一个随机流进行上传而不是一直保存在内存中?
解决方法:
这是一个简单的程序,它生成一个带有随机内容的50 MB文本文件.
import java.io.PrintWriter;
import java.util.Random;
public class Test004 {
public static void main(String[] args) throws Exception {
PrintWriter pw = new PrintWriter("c:/test123.txt");
Random rnd = new Random();
for (int i=0; i<50*1024*1024; i++){
pw.write('a' + rnd.nextInt(10));
}
pw.flush();
pw.close();
}
}