如何从远程机器上的 jar 文件运行测试?

Posted

技术标签:

【中文标题】如何从远程机器上的 jar 文件运行测试?【英文标题】:how to run tests from a jar file on a remote machine? 【发布时间】:2020-04-30 21:49:34 【问题描述】:

我有一个 spring boot 项目,我在其中使用 gradle 进行依赖管理。我将项目 jar 复制到远程计算机。在那里我想使用我的 jar 文件运行单元测试。我正在使用 junit 运行单元测试。如何从远程机器上的 jar 文件运行单元测试?

【问题讨论】:

看看这个 SO 问题 - ***.com/questions/2235276/… 仅供参考:不确定您的用例,但通常您的构建应该在生成 Jar 文件之前运行单元测试。 【参考方案1】:

您对 Jar / 单元测试的理解有些不清楚。

进行单元测试是为了帮助以正确的方式构建您的应用程序。您可以针对您的课程进行一些测试。要将其与 JAR 文件相关联,您的单元测试是为了确保您构建的 JAR 能够“工作”(即通过您的测试)。

因此没有理由尝试在远程机器上执行您的测试。此外,如果你打开你的 Jar 文件(它只是一个 Zip),你会看到你的测试类不在里面。这是因为,在 Jar 中,您只需要将在生产中使用的类。

相反,问你这个: - 除了在远程机器上运行单元测试之外,您还想实现什么? - 它更像是集成还是端到端测试?基本上,你想要的是:在服务器上部署 Jar 并确保它仍然工作。

如果您真的在远程机器上运行测试,那么您可以查看评论中的链接:How to run JUnit test cases from the command line。我不会推荐,因为就像我说的那样,您的测试类有一些机会(当然取决于您的配置)嵌入到您的 jar 中。

希望它能帮助你思考。不要犹豫,更新您的帖子以添加更多信息。

【讨论】:

“没有理由尝试在远程机器上执行测试”在更强大的后备机器上从笔记本电脑客户端运行 CPU/内存密集型代码怎么样? 这种情况下,不是单元测试,而是性能测试。

以上是关于如何从远程机器上的 jar 文件运行测试?的主要内容,如果未能解决你的问题,请参考以下文章

如何最好地更新远程机器上正在运行的应用程序

如何将远程机器上实时运行的tcpdump结果导出到我电脑上的pcap文件中?

如何从 Jar 运行一个不在其 Manifest 文件中的 Main-Class 的类

从本地触发远程服务器上的快照

远程分析 jar 文件?

如何通过 UCanAccess 访问远程机器上的数据库文件?