gpt4 book ai didi

testing - DropWizard 测试

转载 作者:行者123 更新时间:2023-11-28 20:04:52 27 4
gpt4 key购买 nike

因为我正在使用 eclipse 并且只是设置了一个 dropwizard 服务器。在命令提示符下,我输入了 java -jar target/hello-world-0.0.1-SNAPSHOT.jar server hello-world.yml 并且正在运行。然而,每当我对我的 eclipse 文件进行更改时,例如更改 yml 文件,它都不会更新。我必须 crtl+c 并重新运行我在上面输入的内容。我的问题是,是否有更快的测试方法,以便每次我更改某些内容时它都会更新,或者我只需要处理测试。谢谢。

最佳答案

从 IDE 中运行

不同的 Java IDE 允许更高效的工作流。例如,在 IDE 中,您可以使用运行时配置运行您的应用程序,该运行时配置执行您的 Service.main() 方法,参数为 server hello-world.yml。这将为您节省无尽的 Maven 构建。

不幸的是,对于 Eclipse,代码更改的热交换通常很麻烦,所以我建议您 consider Intellij在热插拔代码方面更可靠。即使这样,热插拔也存在风险。

有时重启是不可避免的

话虽如此,在您的情况下,热插拔无济于事。您正在更改仅在启动时读取的启动配置文件。您必须重新启动才能看到更改,除非您创建自己的动态刷新文件哈希更改机制(不建议)。

一种替代方法是将大部分配置测试放在单元测试中,并验证您的代码是否按预期响应。

静态 Assets 提供最佳工作流程(无需重新启动)

您可能会遇到只想更改静态 Assets (如 JavaScript 文件)的情况,在这种情况下,Intellij 将允许您简单地即时重新编译并将更改后的 Assets 复制到 /target 目录并让 Dropwizard 立即拾取它们而无需重新启动。

如果您想更进一步,您可以使用 Grunt.js 的服务,以便它持续监控 src/main/resources/assets(或类似的)的更改,然后自动更新你的 /target 给你。同样,Intellij 将自动保存焦点更改,因此这将导致最佳工作流程,您可以在其中更改 Assets ,等待一秒钟,刷新浏览器并立即查看结果。

我写了一篇很长的博客文章,涵盖 Dropwizard and Ember Data如果您想了解有关此方法(以及一般的单页 Web 应用程序开发)的更多详细信息,请参阅。

关于testing - DropWizard 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17553667/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com