首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问测试代码中的测试类路径

访问测试代码中的测试类路径
EN

Stack Overflow用户
提问于 2017-08-24 04:41:06
回答 1查看 108关注 0票数 0

我需要测试派生JVM进程的代码,为此,我需要访问test:fullClasspath,或者让测试依赖于package并使用带有fat jar的类路径。

后一种选择非常繁琐、缓慢,而且不包含任何测试二进制文件。对于前一种解决方案,我不知道如何访问test:fullClasspath。无论我是在当前的JVM中运行测试,还是作为派生进程运行测试,System.getProperty("java.class.path")总是给我/opt/sbt/bin/sbt-launch.jar

有什么建议吗?

EN

Stack Overflow用户

回答已采纳

发布于 2017-08-24 15:17:47

如果您从SBT运行,只要您指示SBT在运行时派生您的应用程序,这似乎就能正常工作。这就是我所拥有的:

项目:

代码语言:javascript
复制
<project root>
  - build.sbt
  - src
    - test
      - scala
        - test.scala

build.sbt

代码语言:javascript
复制
fork := true

test.scala

代码语言:javascript
复制
object Test extends App {
  println(System.getProperty("java.class.path"))
}

然后从<project root>运行:

代码语言:javascript
复制
sbt test:run

然后它会打印:

代码语言:javascript
复制
/Users/username/projects/tmp/scala/target/scala-2.11/test-classes:/Users/username/projects/tmp/scala/target/scala-2.11/classes:/Users/username/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.11.jar

似乎类路径的第一部分,也就是/Users/username/projects/tmp/scala/target/scala-2.11/test-classes,就是你要找的,对吧?

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45848935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档