使用Eclipse和Maven运行SpringBoot JUnit-Tests时的结果不同

时间:2018-12-14 08:12:20

标签: java eclipse maven spring-boot junit

在Eclipse和Maven中运行基于SpringBoot的Java单元测试时,得到了不同的结果。

“我的测试”可以从命令行成功使用maven(mvn测试)运行,但是无法在Eclipse中运行。

我正在使用与JDK相同的配置,该配置是在Eclipse中作为Maven Projekt导入的。所以几乎相同的设置,但没有得到相同的结果:(

任何小费如何解决这个问题?还是有类似的问题?

其中大多数是验证异常,使用eclipse进行测试时会遇到这种异常:

java.lang.Exception: Unexpected exception, expected<com.MyCustomException> but was<javax.validation.UnexpectedTypeException>
at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:28)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)

javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.String'. Check configuration for 'name'
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.throwExceptionForNullValidator(ConstraintTree.java:227)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getConstraintValidatorNoUnwrapping(ConstraintTree.java:308)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getConstraintValidatorInstanceForAutomaticUnwrapping ..

但是所有测试都通过了maven。

我的测试班级标题大都是这样的:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:context/service-context.xml" })
@Transactional 
public class SomeFacadeTest { ...}

谢谢

1 个答案:

答案 0 :(得分:1)

好,解决了我的问题...我在Java构建路径->库选项卡视图下有一些旧的外部jar lib依赖项。我删除了这些,测试运行成功:)