有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Maven运行Unittest的java

现在我正在学习Junit5框架,我发现不仅可以使用IDE(我使用的是IntelijIdea),还可以使用Maven surefire插件运行单元测试。以太网中的许多文章建议我使用Maven插件来运行测试。也许,我不明白什么,但这有什么意义呢?实际上,我可以使用默认的IDE选项来运行它,我错了吗?非常感谢


共 (1) 个答案

  1. # 1 楼答案

    在IntelliJ中,使用它来运行单元测试。这就是您编写代码的地方,在那里运行单元测试,同时处理代码

    如果您只是从这里开始,那可能是您运行单元测试的唯一地方。但是,在任何一种成熟的开发项目中,尤其是在代码协作时,您都需要一种在编辑器或IDE之外构建项目的方法。虽然IDE经常受到个人偏好等因素的影响,但命令行上的构建(脚本)被视为更具权威性

    如果您在命令行上有一个好的构建(脚本),您还可以在持续集成环境(“构建服务器”)中运行它,并正确地自动化构建、测试、报告和部署

    在这个时代,不要为Java项目编写自己的构建脚本。马文是金本位

    Maven将至少为您提供:

    • 依赖关系管理:您可能会将(外部)依赖关系引入到您的项目中。依赖IDE进行依赖关系管理是不一致的另一个来源。Maven以一种可预测、可复制的方式来实现这一点。与项目的其他属性一起,它在Maven的POM(文件)中管理,即pom.xml
    • 默认构建生命周期:构建中可能需要的基本内容。在您的例子中:依赖项解析,然后编译,然后测试执行。您可以在POM(文件)中重新配置执行的插件,但对于您的问题,默认值应该可以正常工作

    This是一些关于依赖项管理的官方文档,以及this关于POM(文件)。但不要被所有的选择压倒。相反,我们应该依赖Maven明智的违约

    例如,如果您使用IntelliJ,我建议您使用它来创建第一个Maven项目,因为它将在一个工作POM(文件)中设置一些内容,而无需立即完全了解POM的格式。(选择“新建项目”,选择“Maven”,跳过原型选择,等等。)

    这里需要记住的重要内容是项目根目录中的POM(文件)和Maven的Standard Directory Layout,最明显的是您的问题src/main/java和生产代码的src/test/java。测试代码