首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DropWizard测试

DropWizard测试
EN

Stack Overflow用户
提问于 2013-07-10 00:39:15
回答 1查看 3.3K关注 0票数 2

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-10 21:01:57

从集成开发环境中运行

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

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

有时重新启动是不可避免的

也就是说,在您的情况下,热交换不会有什么帮助。您正在更改仅在启动时读取的启动配置文件。除非您创建了自己的动态刷新文件散列更改机制(不建议),否则必须重新启动才能看到更改。

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

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

您可能会遇到这样一种情况:您只想更改静态资产(如JavaScript文件),在这种情况下,Intellij将允许您即时重新编译,并将更改后的资产复制到/target目录中,并且无需重启即可由Dropwizard获取它们。

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

如果你想了解更多关于这种方法的细节(以及一般的单页面web应用程序开发),我不久前写了一篇关于Dropwizard and Ember Data的长篇博客文章。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17553667

复制
相关文章

相似问题

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