You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java Maven项目中添加手动测试脚本?

解决Maven项目中运行手动测试脚本的最佳方案

下面是几种实用的实现方式,适配你需要运行带真实依赖的手动测试类的需求:

方案1:添加自定义源目录到Maven编译配置

直接把你的src/manual-scripts/java目录加入Maven的源路径,让Maven自动编译这些类,无需额外处理类路径。

步骤:

  1. 修改项目根目录的pom.xml,在<build>节点下添加自定义源目录和资源目录(如果有手动脚本需要的资源文件):
<build>
    <sources>
        <source>src/main/java</source>
        <source>src/manual-scripts/java</source>
    </sources>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
        <resource>
            <directory>src/manual-scripts/resources</directory>
        </resource>
    </resources>
</build>
  1. 编写scripts/run-manual-script.sh脚本,利用Maven的exec:java插件运行指定类的main方法:
#!/bin/bash
if [ -z "$1" ]; then
    echo "请传入要运行的类的全限定名(例如:com.your.package.TestManualScript)"
    exit 1
fi
mvn exec:java -Dexec.mainClass="$1"
  1. 给脚本添加执行权限:chmod +x scripts/run-manual-script.sh
  2. 使用方式:./scripts/run-manual-script.sh com.your.package.TestManualScript

优势:配置简单,手动脚本会随主代码一起编译,无需额外编译步骤。

方案2:用Maven Profile隔离手动脚本

如果不想让手动脚本影响日常主代码编译,可以通过Profile实现按需编译和运行。

步骤:

  1. 在pom.xml中添加自定义Profile:
<profiles>
    <profile>
        <id>manual-scripts</id>
        <build>
            <sources>
                <source>src/manual-scripts/java</source>
            </sources>
            <resources>
                <resource>
                    <directory>src/manual-scripts/resources</directory>
                </resource>
            </resources>
        </build>
    </profile>
</profiles>
  1. 修改run-manual-script.sh脚本,激活指定Profile:
#!/bin/bash
if [ -z "$1" ]; then
    echo "请传入要运行的类的全限定名(例如:com.your.package.TestManualScript)"
    exit 1
fi
mvn exec:java -P manual-scripts -Dexec.mainClass="$1"
  1. 使用方式和权限配置同方案1。

优势:日常执行mvn compile不会编译手动脚本,只有运行时才激活Profile编译,避免主代码编译冗余。

方案3:创建独立的Maven子模块

如果手动脚本数量较多、逻辑复杂,建议单独拆分为一个子模块,依赖主业务模块,完全隔离主代码。

步骤:

  1. 调整项目结构:
your-project/
├── pom.xml (父POM)
├── your-main-module/  # 原主业务模块
│   └── pom.xml
└── manual-scripts/    # 手动脚本子模块
    ├── pom.xml
    └── src/main/java/com/your/package/  # 存放手动脚本类
  1. 在manual-scripts/pom.xml中添加对主模块的依赖:
<dependencies>
    <dependency>
        <groupId>your.group.id</groupId>
        <artifactId>your-main-module</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>
</dependencies>
  1. 编写运行脚本(或直接在子模块目录下执行命令):
#!/bin/bash
if [ -z "$1" ]; then
    echo "请传入要运行的类的全限定名(例如:com.your.package.TestManualScript)"
    exit 1
fi
cd manual-scripts
mvn exec:java -Dexec.mainClass="$1"

优势:完全隔离主代码和手动脚本,便于管理大量测试脚本,不会污染主模块的编译产物。

手动脚本类示例

确保你的手动测试类包含main方法,可直接调用真实依赖:

package com.your.package;

import com.your.main.module.service.YourService;

public class TestManualScript {
    public static void main(String[] args) {
        // 调用真实业务逻辑
        YourService service = new YourService();
        String result = service.processData("测试数据");
        System.out.println("运行结果:" + result);
    }
}

内容的提问来源于stack exchange,提问作者Fabio Perrella

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 20:36:17