在junit测试与真实源混合的情况下的POM文件

时间:2016-08-03 21:53:03

标签: java maven junit

我喜欢和他们的测试代码一起编写类,例如

  public class My {
    int zero() { return 0; }
    public static class TEST {
       @Test public void zeroTest() {
         assertEquals(0, zero());
       }
    }
  }

这与通常的maven假设完全不同

  1. 测试类不在单独的文件中,当然也不在单独的文件夹中。
  2. 测试方法可以采用任何名称。
  3. 测试类可以采用任何名称。
  4. 如果我能教会Maven这个约定真的很好,那么在编译阶段,它会编译所有代码,包括测试代码, 在测试阶段,它只会对所有代码运行junit,这将导致它只选择标有@Test的方法。

    可以这样做吗?

1 个答案:

答案 0 :(得分:3)

我害怕Maven赞成Convention over Configuration(这是他们的座右铭)。因此,如果你不想遵循它们的约定,那么你将很难这样做,因为它与Maven的工作方式有关。

也许你可以研究像Gradle这样不太容易达成约定的其他构建工具。