maven和eclipse中的测试用例

时间:2014-07-14 07:37:32

标签: eclipse maven junit surefire

我使用maven来管理项目中的依赖项。 我在编写测试用例时已经看到,其中一些在maclipse构建时失败而在eclipse中传递。我对它进行了调试,发现在整个构建过程中保留了它们的值后,会有一些类的静态最终成员被初始化。这是一个多模块项目。

是否可以针对不同的测试用例更改最终成员的值? 请问我是否需要更多说明。 任何链接/提示或想法可能会有所帮助。 谢谢。

1 个答案:

答案 0 :(得分:1)

静态最终成员是表达常量的Java方式。首先尝试修改测试,使其与这些常量的值一起使用。如果无法做到这一点,您可以添加第二个用于测试目的的构造函数来覆盖这些值。请参阅以下示例:

现有代码:

public class SomeClass {
  private static final int LIMIT = 30;

  public SomeClass() {
    ...
  }

  public void doSomething() {
    ... //the code that uses LIMIT.
  }
}

添加测试使用的第二个构造函数:

public class SomeClass {
  private static final int DEFAULT_LIMIT = 30;
  private final limit

  public SomeClass() {
    this(DEFAULT_LIMIT);
  }

  public SomeClass(int limit) {
    this.limit = limit;
    ...
  }

  public void doSomething() {
    ... //the code uses limit now.
  }
}