Spring test 集成测试 续
2011-08-21 13:15
393 查看
昨天了解了一下使用Spring的test框架做Junit的集成单元测试,一般情况下,我们的测试类是继承自抽象类AbstractDependencyInjectionSpringContextTests,需要注意的就是要重写方法getConfigLocation()。这样的测试类有个优点就是每个测试方法Spring容器都只对beans初始化一次。 但是,有些情况下我们不想在单元测试的时候破坏数据库现场,这时候可以是测试类继承抽象类AbstractTransactionalSpringContextTests。使用这个抽象类的时候,一定要注意属性TransactionManager属性的注入,以及TransactionManager的DataSource属性的注入,否则测试类是不能够初始化的,会抛出异常: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com.ali.luna.crm.test.biz.train.TrainingBOImplTest': Unsatisfied dependency expressed through bean property 'transactionManager': Set this property value or disable dependency checking for this bean. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.checkDependencies(AbstractAutowireCapableBeanFactory.java:1184) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1006) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:329) at org.springframework.test.AbstractDependencyInjectionSpringContextTests.injectDependencies(AbstractDependencyInjectionSpringContextTests.java:205) at org.springframework.test.AbstractDependencyInjectionSpringContextTests.prepareTestInstance(AbstractDependencyInjectionSpringContextTests.java:180) at org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:100) at junit.framework.TestCase.runBare(TestCase.java:125) at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 俺被这个坑困扰了一天。 若是想了解更多Spring单元测试相关,可访问如下链接: http://www.blogjava.net/vcycyv/archive/2011/02/24/345040.html
相关文章推荐
- SpringBoot Test集成测试
- SpringBoot Test集成测试
- spring集成测试(spring-test.jar)
- Spring Test 集成测试
- Spring 集成测试2(对spring管理的bean进行单元测试,借助于spring提供的Spring TestContext Framework ,2.5以后引入)
- SpringBoot Test集成测试
- spring-test测试demo
- spring TestUtil Junit测试类
- Spring Test @TransactionConfiguration
- Spring Test 整合 JUnit 4 使用总结
- SpringTest框架JUnit单元测试用例获取ApplicationContext实例的方法
- DbUnit实践:Spring Test Dbunit,H2数据库
- JUnit Test in Spring Context with JNDI Data Source
- Spring+JPA+Hibernate+Junit Test + maven Demo 整合配置
- SpringBoot+Mybatis框架项目的单元测试和集成测试(下)
- spring-test几种用法
- Spring boot @Test的时候需要设置 环境变量:spring.profiles.active = dev
- SpringBoot+Junit Test
- JSONAssert & Spring Boot Test
- SpringMVCTest/hello 能进入当controller hello方法却在返回值时报错及解决办法