Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
maven和eclipse中的测试用例_Eclipse_Maven_Junit_Surefire - Fatal编程技术网

maven和eclipse中的测试用例

maven和eclipse中的测试用例,eclipse,maven,junit,surefire,Eclipse,Maven,Junit,Surefire,我使用maven管理项目中的依赖项。 我在编写测试用例时看到,其中一些在eclipse中通过,而在maven构建中失败。我调试了它,发现一旦在整个构建过程中保留了它们的值,就会初始化类的静态最终成员。这是一个多模块项目 是否可以为不同的测试用例更改这些最终成员的值? 如果你想要更多的澄清,请问我。 任何链接/提示或想法都可能有帮助。 谢谢 静态final成员是表示常量的Java方式。首先,尝试修改测试,使其与这些常量的值一起工作。如果这是不可能的,您可以为测试目的添加第二个构造函数来覆盖这些值。

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

是否可以为不同的测试用例更改这些最终成员的值? 如果你想要更多的澄清,请问我。 任何链接/提示或想法都可能有帮助。
谢谢

静态final成员是表示常量的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.
  }
}

是否可以为不同的测试用例更改这些最终成员的值?键入一个示例来解释您可能必须更改forkMode。分叉策略可能不同于Maven和Eclipse。请看这里:嗨,汤姆,我的项目中有6000多个测试用例,改变了forkMode需要很长的构建时间,因为测试用例是一个接一个地运行的。而不是平行的。