【问题标题】:Use groovy to load a test resource from my project structure使用 groovy 从我的项目结构中加载测试资源
【发布时间】:2011-10-27 22:27:16
【问题描述】:

我想加载一个位于我的项目工作区的 /datatest 文件夹内的资源。因此,整个文件将是 /datatest/a.xml .. 我如何获得我在单元测试中需要的这个资源的绝对路径,因为单元测试可以在我不想硬编码它的任何机器上运行,但是而是通过使用类加载器来获取它?我该怎么做 ?

【问题讨论】:

  • 你的项目工作区在类路径上吗?通常不会。如果是这种情况,类加载器就看不到它
  • 是的,项目工作区包含在类路径中
  • 您也可以查看this answer

标签: groovy


【解决方案1】:

如果它在你的类路径中,那么这应该可以工作:

String xmlString = this.getClass().getResource( '/datatest/a.xml' ).text

【讨论】:

  • 它实际上是一个“.lst”文件......例如“a.lst”......我将它添加到intelliJ的编译器资源设置中但仍然没有运气
  • 在这种情况下,它不在类路径中
  • 我没有明确定义一个 CLASS_PATH,但是通过运行这个 Groovy 单行代码,我发现当前目录包含在我的有效/默认 CLASS_PATH 中:this.class.classLoader.rootLoader.URLs.each{ println it } -- 然后很清楚在哪里我应该保存文件,以便我可以getResource 稍后打开它们。
  • 我错过了前导 /
猜你喜欢
  • 2020-08-28
  • 2010-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
  • 2020-08-13
相关资源
最近更新 更多