在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 { ...}
谢谢
答案 0 :(得分:1)
好,解决了我的问题...我在Java构建路径->库选项卡视图下有一些旧的外部jar lib依赖项。我删除了这些,测试运行成功:)