【问题标题】:Eclipse in Linux: running a Junit coverage test gives an error "permission denied"Linux 中的 Eclipse:运行 Junit 覆盖测试给出错误“权限被拒绝”
【发布时间】:2013-01-24 15:41:25
【问题描述】:

当我尝试对我的 Java 项目运行覆盖测试时,我收到了 java.io.IOException: Permission Denied 错误。

我可以运行单独的 JUnit 测试,它们运行良好。

一起运行测试(通过 Coverage 作为 JUnit 测试),我得到了错误。

与错误相关的插件是org.eclipse.jdt.junit.core

给出的堆栈跟踪以org.eclipse.core.internals.jobs.Worker.run(Worker.java:54) 开头,以java.io.UnixFileSystem.createFileExclusively(Native Method) 结尾。

我能够在构建项目之前运行覆盖测试,但在构建之后它将无法运行。不确定这些是否连接。

【问题讨论】:

  • 包括整个堆栈跟踪。
  • 问题已解决(请参阅下面的答案),因此我不再出现错误(无法获取堆栈跟踪)。

标签: linux eclipse junit code-coverage permission-denied


【解决方案1】:

发现问题 - java.io.UnixFileSystem.createFileExclusively(Native Method)。我的一项测试(最新的一项,尚未在 Coverage 测试下运行)试图写入一个以某种方式更改了权限的文件。一旦权限被重置以允许我访问,覆盖测试就会运行。仍然不确定为什么它允许我单独运行测试,但现在都运行了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    相关资源
    最近更新 更多