Dropwizard集成测试找不到资源文件

2023-12-02

对于 dropwizard 来说非常陌生,我正在尝试“完全”创建一个集成测试,以他们为例:

https://dropwizard.github.io/dropwizard/manual/testing.html
public class LoginAcceptanceTest {

@ClassRule
public static final DropwizardAppRule<TestConfiguration> RULE =
        new DropwizardAppRule<TestConfiguration>(MyApp.class, ResourceHelpers.resourceFilePath("dev-config.yml"));

@Test
public void loginHandlerRedirectsAfterPost() {
    //Client client = new JerseyClientBuilder(RULE.getEnvironment()).build("test client");


}
}

到目前为止有两个问题:首先,当我从 intellij 运行测试时,它失败并出现以下异常:

Caused by: java.lang.IllegalArgumentException: resource dev-config.yml not found.

完整的堆栈跟踪:

java.lang.ExceptionInInitializerError
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:140)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1057)
at java.lang.reflect.Field.getFieldAccessor(Field.java:1038)
at java.lang.reflect.Field.get(Field.java:379)
at org.junit.runners.model.FrameworkField.get(FrameworkField.java:73)
at org.junit.runners.model.TestClass.getAnnotatedFieldValues(TestClass.java:230)
at org.junit.runners.ParentRunner.classRules(ParentRunner.java:255)
at org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:244)
at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194)
at org.junit.runners.ParentRunner.run(ParentRunner.java:362)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: resource dev-config.yml not found.
at io.dropwizard.testing.ResourceHelpers.resourceFilePath(ResourceHelpers.java:23)
at com.amplify.ckla.resources.TeacherConfigResourceIntegrationTest.<clinit>(TeacherConfigResourceIntegrationTest.java:12)
... 21 more
Caused by: java.lang.IllegalArgumentException: resource dev-config.yml not found.
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
at com.google.common.io.Resources.getResource(Resources.java:197)
at io.dropwizard.testing.ResourceHelpers.resourceFilePath(ResourceHelpers.java:21)
... 22 more

dev-config.yml 肯定在那里:

ls -a 
.               .idea               build.sh            pom.xml
..              CKLA.iml            dev-config.yml          src
.git                README.md                       target
.gitignore          develop.sh           

将程序的运行目录更改为项目的根目录(具有输出的目录)ls -a命令)。目前您很可能正在运行它./target目录。

或者如果你想/需要逃离.target更改命令行选项以引用配置文件:../dev-config.yml

Edit:正如 @nightograph 评论的那样IntelliJ是右键单击项目文件夹并将目录标记为"Resources Root"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dropwizard集成测试找不到资源文件 的相关文章

  • IntelliJ - 删除以前打开的项目列表?

    IntelliJ IDEA 有没有办法删除以前使用的项目 我指的是应用程序启动时主页上的列表 请看图片 File gt Open Recent gt Clear List 编辑 对于 2016 版本 此功能不再可用 使用这个解决方案 htt
  • WebStorm 中的断点未命中 JavaScript 调试

    我在 WebStorm 中有以下配置设置 当我单击 调试 时 它会正常启动 Chrome 并导航到该页面 但我的断点从未被命中 但它以某种方式连接起来 因为我看到了所有console log WebStorm 中的输出 我正在尝试导航到屏幕
  • IntelliJ IDEA 禁用 CMD+滚动上的字体增大/减小

    我在 Mac OS X 上使用 IntelliJ IDEA 9 0 2 搭配 Magic Mouse 每当我按下命令按钮并将手指在鼠标表面移动一两微米时 IDEA 就会立即快速增大或减小字体大小 如何禁用此功能 Settings Edito
  • IntelliJ IDEA - 分离编辑器窗口

    我最近从我的 IntelliJ 设置中删除了选项卡 因为有了可用于在文件之间导航的所有功能 谁需要它们 问题是 分离编辑器窗口的正常方法是将选项卡拖动到另一个屏幕 或区域 上 键映射中似乎没有任何用于分离编辑器窗口的内容 有没有办法通过键盘
  • JetBrains Idea:从自动完成中排除包和类

    如何从自动完成中排除某些类 但不从项目中排除 我正在尝试使用八哥库在闪存上进行开发 问题是 IDE 总是建议我一个内置类 即使我导入另一个类 我也可能不想使用它 http monosnap com image 7VRQpIhqIPRK2wg
  • 如何强制maven更新本地repo

    我在一个项目中编译了一个 jar 文件 以便可以在第二个项目中使用它 我可以在 m2 文件夹中看到 jar 文件 但在第二个项目中 它抱怨找不到工件 我想我必须强制 Maven 更新索引 缓存一些东西 但不知道到底是什么 任何提示 谢谢 更
  • IntelliJ IDEA:如何撤销重新格式化代码/优化导入对话框?

    所以我已经按了Do not show this dialog in the future 截图取自网络 已经有一段时间了 现在我想更改默认的重新格式化行为 我似乎找不到再次显示此对话框的选项 Update2015 10 在当前版本的 Int
  • 在 IntelliJ IDEA 中运行。多个文件和错误未定义:数据

    我想使用 IntelliJ IDE 社区版编写代码GO Go语言 我安装了正确的插件 并安装了构建应用程序所需的所有工具 我的应用程序包含以下两个文件 每个都在目录中 事件服务器 Main go Data go 如果我想使用 Run Ctl
  • intellij idea运行配置备份

    我想创建一个脚本来修改 intellij 中的调试配置 tomcat的路径发生了变化 我必须手动进入运行配置并编辑内容 我试图找到intellij存储这些设置的地方 但没有成功 question 有谁知道 IJ 在哪里存储其运行配置 该位置
  • IntelliJ - 无效源版本:17

    我已经在 IntelliJ 中使用 Gradle 创建了一个使用 Java 17 的新 Java 项目 运行我的应用程序时出现错误Cause error invalid source release 17 我的设置 我已经安装了openjd
  • 在 IntelliJ 中运行 Spark 字数统计

    我花了几个小时浏览 You Tube 视频和教程 试图了解如何在 Scala 中运行 Spark 字数统计程序 并将其转换为 jar 文件 我现在完全糊涂了 我运行了 Hello World 并且了解了如何在 Apache spark sp
  • 无法解析模板“Class”错误消息:此模板未生成 Java 类或接口 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 每当我在 IntelliJ 中创建新课程时 请帮助我 它给我一个弹出框无法创建类 我尝试将我的目录标记为 Sources Root 从 st
  • IntelliJ可以自动创建装饰器类吗?

    有时 我创建一个像这样的装饰器类 class MyInterfaceDecorator implements MyInterface private final MyInterface delegate constructor taking
  • 我找不到 IntelliJ 快捷方式

    我使用 vim 一段时间 我知道有一个 intellij vim 插件 我很好奇内置的 IntelliJ 文本导航存在什么 如何打开实时模板来创建模板 如何查看以 tr 开头的现有模板列表 如何进行全局搜索并在当前文档中进行搜索 然后转到下
  • 没有可用于离线模式的缓存版本

    在办公室 我是在代理人后面 互联网访问受到限制 因此 我在家执行了 gradle 同步 并将 C Users username gradle 中的文件夹 gradle 从我的家用电脑复制到我办公室电脑上的同一位置 现在 在我的办公室 PC
  • Java intellij 剪贴板备份

    我正在编写一个在剪贴板上运行的程序 我想在启动时备份剪贴板内容 并在完成时恢复它 所以它看起来像 data Toolkit getDefaultToolkit getSystemClipboard getContents this doSo
  • 如何从 Dropwizard 资源中的 config.yml 文件获取字符串?

    我想在我的 Dropwizard 中获取一个字符串config yml并从资源类访问它 我已将该类添加到配置中 public class DropwizardBackendConfiguration extends Configuratio
  • IDEA IllegalStateException:使用 Kotlin 运行 JUnit 测试时服务即将终止

    昨天 我正在处理我的代码库 并且正在针对我的代码运行单元测试 突然我在 IDEA 日志中看到了以下内容 错误 Kotlin 内部错误 java lang IllegalStateException 服务正在消亡 在 org jetbrain
  • GWT编译器在IntelliJ IDEA中找不到依赖模块的来源

    我正在使用 IDEA 117 216 如果疯狂编码器 https stackoverflow com users 104891 crazycoder看到这个问题 你们如何引用另一个模块以便 GWT 编译器看到它 当我说module我指的是
  • intellij idea gradle插件无法使用gradle.properties中指定的相对路径

    我有一个完美运行的 Gradle 项目 从命令行 配置为使用通过相对路径指定的 JDK 为此 我添加了一个gradle properties文件到我的项目 包含 org gradle java home jdk 但是当我尝试从 Intell

随机推荐