仅在使用基于Spring java的配置运行Test时初始化数据库

时间:2013-11-26 20:40:32

标签: java database spring configuration h2

我有代码来创建数据源并运行脚本来创建模式并使用基于java的弹簧配置添加数据。我想只在测试模式下运行这些脚本。是否需要在数据库初始化bean之上指定任何注释来完成这项工作?

1 个答案:

答案 0 :(得分:0)

您可以使用@profile注释,例如:

@Configuration
@Profile("test_profile")
public class StandaloneDataConfig {

    @Bean
    public DataSource dataSource() {
    // do data source creation/initialization
    }
}

然后使用:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader=AnnotationConfigContextLoader.class,
    classes={StandaloneDataConfig.class})
@ActiveProfiles("test_profile")
public class TransferServiceTest {

    @Autowired
    private TransferService transferService;

    @Test
    public void testTransferService() {
        // test the transferService
    }
}

您可以阅读Spring团队的this博文,了解更多详情。