我的应用程序读取/ proc中的文件。我试图用Robolectric 2.3来测试它。
我可以在“外部存储”中创建一个没有问题的测试文件:
ShadowEnvironment.setExternalStorageState(Environment.MEDIA_MOUNTED);
PrintWriter out;
out = new PrintWriter("myFile");
out.println(contents);
但是,如果我尝试写入/proc
中的文件,则会导致java.io.FileNotFoundException: \proc\net\netstat (Access is denied)
爆炸。
ShadowEnvironment.setExternalStorageState(Environment.MEDIA_MOUNTED);
boolean a = new File( "/proc" ).mkdirs(); //Fails
PrintWriter out;
out = new PrintWriter("/proc/myFile");
out.println(contents);
有什么办法可以让(特定)文件存在/ proc中进行测试?
答案 0 :(得分:1)
我今天已经回答了类似的问题。今天看起来像是关于促进单一阶级责任和依赖性注射的日子。
我会将您的代码更改为下一个:
接下来我会写测试:
希望它有所帮助!