向某些类添加主要方法以进行简单测试

时间:2019-01-28 09:35:39

标签: java maven vert.x

我在整个Maven项目中都有一些课程。我想在开发过程中向其中一些类添加主要方法以进行基本测试。

我尝试声明要与以下类一起运行:

mvn exec:java -Dexec.mainClass="huru.util.Async"

但是该命令在我的pom.xml文件中查找,它运行了一些预配置的设置,并像往常一样启动了我的服务器。如何运行特定文件(不是我的常规主类),但仍加载必需的依赖项?

请注意,为了进行测试,我需要pom.xml中的大多数依赖项,因此我可能需要mvn来运行需要测试的类,我无法直接使用javac来运行它。

更新可悲的是,由于maven在命令行中似乎做得并不多,我可能需要在pom.xml中创建一个配置文件。我对配置文件了解不多,并且由于我现在的pom.xml文件中没有配置文件,因此我有点害怕添加该部分。

1 个答案:

答案 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) -> {

    });
  }

}