【问题标题】:Running maven test with a class name - How does Maven find the class?使用类名运行 maven 测试 - Maven 如何找到该类?
【发布时间】:2013-06-06 17:38:42
【问题描述】:

我有一个项目,这个项目在 /src/test/ 下有测试文件。

有很多子文件夹正在测试中。包结构。并且有几个测试类。 但有人告诉我从项目的根目录运行mvn test -Dtest=<class_name>。这是一个包含所有集成测试代码的单个 java 文件。

由于我是 Maven 新手,我想知道 Maven 是如何找到这个位于下面几个文件夹中的文件并执行它的?它是否扫描所有文件 src/test/... 及其所有子文件夹以查找该文件并运行它?

是的,这是一个基本问题。

注意:pom.xml 没有特别提到这个文件。 我知道 maven 需要一个文件结构 src/main 和 src/test。但我不确定它是否会扫描所有文件夹。

【问题讨论】:

    标签: java class maven testing directory


    【解决方案1】:

    mvn 测试 -Dtest=

    mvn 调用maven processor

    test 执行构建生命周期的test phase 及其所有依赖项

    -Dtest=<class_name> 设置测试用来确定要执行的类的系统属性。

    pom.xml 用于设置构建生命周期,您可以指定哪些 golas 将在构建配置文件的哪些阶段运行以及所需的依赖项。

    您可以将系统属性放在 pom 中,但通常最好将它们放在 maven 调用中。

    【讨论】:

    • 所以我的问题是,Maven 会扫描所有子文件夹以找到传递给它的类名吗?
    • 扫描不是正确的词。它构建一个类路径,然后像 Java 一样从类路径调用该类。如果您使用 testRunner,它们通常会扫描类路径以查找任何测试类。但无论有没有 Maven,都会发生这种情况。
    猜你喜欢
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 2011-03-07
    • 2018-10-10
    相关资源
    最近更新 更多