如何解决测试写入日志文件的 Android 类的最佳方法
我有一个关于如何最好地测试我正在为 Android 工作的记录器类的问题。这个记录器类在“实际”使用期间写入内部存储中的 Android 日志文件,但我试图找出模拟它以进行测试的最佳方法,因为 getFilesDir() 在仪器测试期间。
理想情况下,我可以在测试期间从我的记录器类中写入日志文件,然后在测试期间读取该文件,检查我的日志是否符合预期。
我环顾四周并尝试在我的测试中为此目的使用 TemporaryFolder。我能够从我的测试类中漂亮地读取和写入这个文件,但是我无法从测试实例中的 MyLogger 类中写入这个文件。在我的 MyLogger 类构造函数中,我试图在测试期间在 TemporaryFolder 目录中创建一个文件,我收到此错误:
打开失败:EROFS(只读文件系统)
你能帮助我了解测试记录器类的最佳方式吗?我想在这里使用实际文件的原因之一是,如果可能的话,我还想对文件轮换进行测试覆盖。
仪器测试
java.util.concurrent.TimeoutException
at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1771)
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915)
at FutureWithCollector.finalize(FutureWithCollector.java:23)
at FutureWithCollector.main(FutureWithCollector.java:15)
0
类构造器
@RunWith(AndroidJUnit4.class)
public class MyLoggerTest{
@Rule public TemporaryFolder mTempFolder = new TemporaryFolder();
@Test
public void testCreateLogFile() {
try {
mTempFolder.newFolder("baseFolder");
MyLogger logger = new MyLogger(mTempFolder + "/baseFolder/");
} catch(Exception e) {
fail(e.getMessage());
}
}
}
谢谢!我爱你 Stack Overflow 社区!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。