mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-16 16:15:06 +00:00
HHH-6677 skip @BeforeClassOnce / @AfterClassOnce if test is ignored
This commit is contained in:
parent
3fe833456b
commit
bd54fe08f5
@ -71,16 +71,43 @@ public TestClassMetadata getTestClassMetadata() {
|
|||||||
return testClassMetadata;
|
return testClassMetadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
private Boolean isAllTestsIgnored = null;
|
||||||
protected Statement withBeforeClasses(Statement statement) {
|
|
||||||
return new BeforeClassCallbackHandler(
|
private boolean isAllTestsIgnored() {
|
||||||
this,
|
if ( isAllTestsIgnored == null ) {
|
||||||
super.withBeforeClasses( statement )
|
if ( computeTestMethods().isEmpty() ) {
|
||||||
);
|
isAllTestsIgnored = true;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
isAllTestsIgnored = true;
|
||||||
|
for ( FrameworkMethod method : computeTestMethods() ) {
|
||||||
|
Ignore ignore = method.getAnnotation( Ignore.class );
|
||||||
|
if ( ignore == null ) {
|
||||||
|
isAllTestsIgnored = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return isAllTestsIgnored;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Statement withBeforeClasses(Statement statement) {
|
||||||
|
if ( isAllTestsIgnored() ) {
|
||||||
|
return super.withBeforeClasses( statement );
|
||||||
|
}
|
||||||
|
return new BeforeClassCallbackHandler(
|
||||||
|
this,
|
||||||
|
super.withBeforeClasses( statement )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Statement withAfterClasses(Statement statement) {
|
protected Statement withAfterClasses(Statement statement) {
|
||||||
|
if ( isAllTestsIgnored() ) {
|
||||||
|
return super.withAfterClasses( statement );
|
||||||
|
}
|
||||||
return new AfterClassCallbackHandler(
|
return new AfterClassCallbackHandler(
|
||||||
this,
|
this,
|
||||||
super.withAfterClasses( statement )
|
super.withAfterClasses( statement )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user