@Repository
publicclassMyBatisAngelWangimplementsIRepository{
@Autowired
privateGeneralDAO generalDAO;
public<T extendsBase> T get(Class<T> clz,Long id){
HashMap hashMap= generalDAO.getLogically(clz, id);
T ret=this.convert(hashMap, clz);
return ret;
}
}
import org.testng.annotations.Test;
//@DatabaseSetup(value= "/dbunitData/TestAngelEntity.xml")publicclassMyBatisAngelWangTestextendsAbstractRollbackTest{
@Autowired
privateMyBatisAngelWang myBatisAngelWang;
@Test(enabled=false)
publicvoid testGet(){
}
}
10年積累的成都網(wǎng)站建設(shè)、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有尉犁免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.TestExecutionListeners;
@ContextConfiguration(locations={"classpath:spring-datasource-dbunit.xml",
"classpath*:spring-services.xml"})
@TestExecutionListeners({DependencyInjectionTestExecutionListener.class,
TransactionDbUnitTestExecutionListener.class,TransactionalTestExecutionListener.class})
@Transactional
publicclassAbstractRollbackTestextendsAbstractTestNGSpringContextTests{
}
@ContextConfiguration("/config/Spring-db.xml")
@Transactional
@ActiveProfiles("test")
publicclassMyBatisAngelWangTestextends
AbstractTransactionalTestNGSpringContextTests{}
<?xml version="1.0" encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.2.xsd"default-autowire="byName">
<description>spring-datasource-configuration</description>
<beanclass="com.angel.context.ApplicationContextAwareHelper"/>
<!-- 定義事務(wù)管理器(聲明式的事務(wù)) -->
<beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<propertyname="dataSource"ref="dataSource"/>
</bean>
<tx:annotation-driventransaction-manager="transactionManager"/>
<beanid="propertyConfigurer"class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
<propertyname="locations">
<list>
<value>classpath*:props/datasource_dev.properties</value>
</list>
</property>
</bean>
<beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<propertyname="driverClassName"value="${jdbc.driver}"/>
<propertyname="url"
value="${jdbc.dbunit.url}"/>
<propertyname="username"value="${jdbc.user}"/>
<propertyname="password"value="${jdbc.password}"/>
</bean>
<!-- MyBatis 配置 -->
<beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer">
<propertyname="basePackage"value="com.angel.*.dao"/>
<propertyname="sqlSessionFactoryBeanName"value="xSqlSessionFactory"/>
</bean>
<beanid="xSqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<propertyname="dataSource"ref="dataSource"/>
<propertyname="typeAliasesPackage"value="com.angel.*.entities"/>
<propertyname="configLocation"value="classpath:mybatis/mybatis-config.xml"/>
<propertyname="mapperLocations"value="classpath:/com/angel/dao/*.xml"/>
<propertyname="plugins">
<array>
<!--page interceptor-->
<beanclass="com.angel.orm.db.QueryInterceptor"/>
</array>
</property>
</bean>
<tx:annotation-driventransaction-manager="transactionManager"/>
</beans>
這樣大家測試的數(shù)據(jù)庫都是同一個了,也不會有任何的相互影響了。因為事務(wù)回滾了,不信的話可以提交一條Insert測試哦,執(zhí)行完后查看數(shù)據(jù)庫中并沒有插入任何數(shù)據(jù)。然而,在一個單元測試中,先Insert再get是可以取到數(shù)據(jù)的,神奇吧?!
publicclassApplicationContextAwareHelperimplementsApplicationContextAware{
privatestaticApplicationContext context;
@Override
publicvoid setApplicationContext(ApplicationContext applicationContext){
context= applicationContext;
}
publicstaticApplicationContext getContext(){
return context;
}
}
DruidDataSource dataSource =ApplicationContextAwareHelper.getBean("dataSource_"+ dataSources[i]);
當然,這不屬于單元測試的范疇了,有點跑題,但是蠻有用的,在這里記一下。
王安琪,英文名Angel,南京郵電大學(xué)計算機應(yīng)用技術(shù)碩士學(xué)位。 熟悉Java、C#編程語言。專注于WebService、海量數(shù)據(jù)處理、搜索引擎技術(shù)、消息中間件技術(shù)、分布式文件存儲、.NET應(yīng)用程序開發(fā)、系統(tǒng)架構(gòu)設(shè)計。主要從事大數(shù)據(jù)管理系統(tǒng)的研發(fā),項目經(jīng)理,系統(tǒng)架構(gòu)師,就職于江蘇金陵科技集團有限公司。
Email:aitanjupt@hotmail.com
QQ:289770363
當前題目:關(guān)于單元測試及項目質(zhì)量管理的總結(jié)-創(chuàng)新互聯(lián)
標題來源:http://aaarwkj.com/article20/dgojjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、用戶體驗、標簽優(yōu)化、網(wǎng)站收錄、外貿(mào)建站、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容