Skip to content

Commit 824b565

Browse files
committed
Polish contribution
Closes gh-143
1 parent ca06dec commit 824b565

File tree

9 files changed

+34
-17
lines changed

9 files changed

+34
-17
lines changed

mybatis-spring-boot-test-autoconfigure/src/main/java/org/mybatis/spring/boot/test/autoconfigure/AutoConfigureMybatis.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
2727

2828
/**
29+
* {@link ImportAutoConfiguration Auto-configuration imports} for typical Mybatis tests.
30+
* Most tests should consider using {@link MybatisTest @MybatisTest} rather than using
31+
* this annotation directly.
2932
*
3033
* @author wonwoo
3134
* @since 1.2.1
@@ -36,4 +39,5 @@
3639
@Inherited
3740
@ImportAutoConfiguration
3841
public @interface AutoConfigureMybatis {
42+
3943
}

mybatis-spring-boot-test-autoconfigure/src/main/java/org/mybatis/spring/boot/test/autoconfigure/MybatisTest.java

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,13 @@
1616

1717
package org.mybatis.spring.boot.test.autoconfigure;
1818

19+
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
1920
import org.springframework.boot.autoconfigure.SpringBootApplication;
2021
import org.springframework.boot.test.autoconfigure.OverrideAutoConfiguration;
2122
import org.springframework.boot.test.autoconfigure.core.AutoConfigureCache;
2223
import org.springframework.boot.test.autoconfigure.filter.TypeExcludeFilters;
24+
import org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureTestDatabase;
25+
import org.springframework.boot.test.context.SpringBootTest;
2326
import org.springframework.boot.test.context.SpringBootTestContextBootstrapper;
2427
import org.springframework.context.annotation.ComponentScan.Filter;
2528
import org.springframework.test.context.BootstrapWith;
@@ -33,6 +36,22 @@
3336
import java.lang.annotation.Target;
3437

3538
/**
39+
* Annotation that can be used in combination with {@code @RunWith(SpringRunner.class)}
40+
* for a typical mybatis test. Can be used when a test focuses <strong>only</strong> on
41+
* mybatis-based components.
42+
* <p>
43+
* Using this annotation will disable full auto-configuration and instead apply only
44+
* configuration relevant to mybatis tests.
45+
* <p>
46+
* By default, tests annotated with {@code @JdbcTest} will use an embedded in-memory
47+
* database (replacing any explicit or usually auto-configured DataSource). The
48+
* {@link AutoConfigureTestDatabase @AutoConfigureTestDatabase} annotation can be used to
49+
* override these settings.
50+
* <p>
51+
* If you are looking to load your full application configuration, but use an embedded
52+
* database, you should consider {@link SpringBootTest @SpringBootTest} combined with
53+
* {@link AutoConfigureTestDatabase @AutoConfigureTestDatabase} rather than this
54+
* annotation.
3655
*
3756
* @author wonwoo
3857
* @see AutoConfigureMybatis
@@ -45,9 +64,11 @@
4564
@BootstrapWith(SpringBootTestContextBootstrapper.class)
4665
@OverrideAutoConfiguration(enabled = false)
4766
@TypeExcludeFilters(MybatisTypeExcludeFilter.class)
48-
@AutoConfigureCache
4967
@Transactional
68+
@AutoConfigureCache
5069
@AutoConfigureMybatis
70+
@AutoConfigureTestDatabase
71+
@ImportAutoConfiguration
5172
public @interface MybatisTest {
5273

5374
/**
@@ -77,12 +98,4 @@
7798
*/
7899
Filter[] excludeFilters() default {};
79100

80-
/**
81-
* spring boot 1.5 start
82-
* Auto-configuration exclusions that should be applied for this test.
83-
*
84-
* @return auto-configuration exclusions to apply
85-
*/
86-
// @AliasFor(annotation = ImportAutoConfiguration.class, attribute = "exclude")
87-
// Class<?>[] excludeAutoConfiguration() default {};
88101
}

mybatis-spring-boot-test-autoconfigure/src/main/java/org/mybatis/spring/boot/test/autoconfigure/MybatisTypeExcludeFilter.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
/**
2828
* {@link TypeExcludeFilter} for {@link MybatisTest @MybatisTest}.
29+
*
2930
* @author wonwoo
3031
* @since 1.2.1
3132
*/
@@ -63,10 +64,4 @@ protected Set<Class<?>> getDefaultIncludes() {
6364
return Collections.emptySet();
6465
}
6566

66-
67-
//spring boot 1.5 start
68-
// @Override
69-
// protected Set<Class<?>> getComponentIncludes() {
70-
// return Collections.emptySet();
71-
// }
7267
}

mybatis-spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# AutoConfigureDataMybatis auto-configuration imports
1+
# AutoConfigureMybatis auto-configuration imports
22
org.mybatis.spring.boot.test.autoconfigure.AutoConfigureMybatis=\
33
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\
44
org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\

mybatis-spring-boot-test-autoconfigure/src/test/java/org/mybatis/spring/boot/test/autoconfigure/ExampleComponent.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.springframework.stereotype.Component;
2020

2121
/**
22+
* Example component used with {@link MybatisTest} tests.
2223
*
2324
* @author wonwoo
2425
* @since 1.2.1

mybatis-spring-boot-test-autoconfigure/src/test/java/org/mybatis/spring/boot/test/autoconfigure/ExampleMybatisApplication.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.springframework.boot.autoconfigure.SpringBootApplication;
2020

2121
/**
22+
* Example {@link SpringBootApplication} used with {@link MybatisTest} tests.
2223
*
2324
* @author wonwoo
2425
* @since 1.2.1
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import static org.assertj.core.api.Assertions.assertThat;
3434

3535
/**
36+
* Integration tests for {@link MybatisTest}.
3637
*
3738
* @author wonwoo
3839
* @since 1.2.1
@@ -44,7 +45,7 @@
4445
"mybatis.mapper-locations=org/mybatis/spring/boot/test/autoconfigure/*.xml",
4546
"spring.datasource.schema=classpath:org/mybatis/spring/boot/test/autoconfigure/schema.sql"
4647
})
47-
public class DataMybatisTestIntegrationTests {
48+
public class MybatisTestIntegrationTests {
4849

4950
@Rule
5051
public ExpectedException thrown = ExpectedException.none();

mybatis-spring-boot-test-autoconfigure/src/test/java/org/mybatis/spring/boot/test/autoconfigure/Sample.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.mybatis.spring.boot.test.autoconfigure;
1818

1919
/**
20+
* Example entity used with {@link MybatisTest} tests.
2021
*
2122
* @author wonwoo
2223
* @since 1.2.1

mybatis-spring-boot-test-autoconfigure/src/test/java/org/mybatis/spring/boot/test/autoconfigure/SampleMapper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.apache.ibatis.annotations.Mapper;
2020

2121
/**
22+
* Example mapper used with {@link MybatisTest} tests.
2223
*
2324
* @author wonwoo
2425
* @since 1.2.1

0 commit comments

Comments
 (0)