import org.junit.runner.RunWith
import org.springframework.test.context.ContextConfiguration
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner
import org.springframework.transaction.annotation.Transactional
/**
*
* Desc: 测试类,在服务端测试代码使用
* author: maple
* Date: 2018-01-12 14:35
*
*/
@RunWith(classOf[SpringJUnit4ClassRunner])
@ContextConfiguration(locations = Array("classpath:META-INF/spring/services.xml"))
@Transactional
class SpringServiceTest {
}
class InventoryDetailQueryTest extends SpringServiceTest {
@Autowired
var service: ExportReportService = _
@Test
@Rollback(false)
def downloadReport(): Unit ={
OssUtil.downloadFile("20180712145507582_17adffd8-9386-4c4d-963d-caec1b0c8b78", "C:\\Users\\Administrator\\Desktop\\report_download\\cc.xlsx")
}
}
上面是一个单元测试的实例,结合了spring和junit4
@RunWith
@RunWith就是一个运行器
@RunWith(JUnit4.class)就是指用JUnit4来运行
@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境
@RunWith(Suite.class)的话就是一套测试集合,
@ContextConfiguration
@ContextConfiguration Spring整合JUnit4测试时,使用注解引入多个配置文件
单个文件
@ContextConfiguration(Locations=“classpath:applicationContext.xml”)
@ContextConfiguration(classes = SimpleConfiguration.class)
多个文件时,可用{}
@ContextConfiguration(locations = { “classpath:spring1.xml”, “classpath:spring2.xml” })
通过注解的方式,可以拿到引入的配置文件中,由spring容器管理的bean.