我在整个Maven项目中都有一些课程。我想在开发过程中向其中一些类添加主要方法以进行基本测试。
我尝试声明要与以下类一起运行:
mvn exec:java -Dexec.mainClass="huru.util.Async"
但是该命令在我的pom.xml文件中查找,它运行了一些预配置的设置,并像往常一样启动了我的服务器。如何运行特定文件(不是我的常规主类),但仍加载必需的依赖项?
请注意,为了进行测试,我需要pom.xml中的大多数依赖项,因此我可能需要mvn来运行需要测试的类,我无法直接使用javac来运行它。
更新可悲的是,由于maven在命令行中似乎做得并不多,我可能需要在pom.xml中创建一个配置文件。我对配置文件了解不多,并且由于我现在的pom.xml文件中没有配置文件,因此我有点害怕添加该部分。
答案 0 :(得分:0)
正如评论中所建议的那样,一种解决方案是跳过将主要方法放到要测试的类中,而是创建一个junit测试...这在命令行中有效:
mvn -Dtest=AsyncTest test
我的测试如下:
package huru;
import huru.util.Async;
import io.vertx.core.Vertx;
import io.vertx.ext.unit.TestContext;
import io.vertx.ext.unit.junit.VertxUnitRunner;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.Arrays;
@RunWith(VertxUnitRunner.class)
public class AsyncTest {
@Test
public void test(TestContext tc) {
Async.Parallel(Arrays.asList(
v -> {
v.done(null, null);
}
), (e, results) -> {
});
}
}