spring的單元測試


如果spring 4.3.18這個版本的spring要使用junit,需要使用junit的junit-4.12之上的版本。使用這個版本junit的時
候需要引入hamcrest-all的jar包。之前的junit版本是不需要單獨引入這個jar包的,因為之前版本把hamcrest-all的
jar包集成進來了,從4.12開始,該jar包不集成,需要單獨的引入。
/**
* 使用junit進行單元測試
*/
public class JunitTest {
@Test
public void testSave(){
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
OrderService orderService = context.getBean(OrderService.class);
//保存訂單
Orders order = new Orders();
order.setId(1L);
order.setCreate_user("張三");
order.setCreateDate(new Date().toString().substring(0,20));
order.setTotalMoney(9000D);
OrderItem oi1 = new OrderItem();
oi1.setId(1L);
oi1.setPname("洗衣機");
oi1.setPrice(900D);
oi1.setNum(1);
order.getOrderItems().add(oi1);
OrderItem oi2 = new OrderItem();
oi2.setId(2L);
oi2.setPname("微波爐");
oi2.setPrice(356D);
oi2.setNum(2);
order.getOrderItems().add(oi2);
//執行保存
orderService.save(order);
}
}
如果每次都這樣做spring的測試,理論上是可的但是,但是每個單元測試的方法中都要有創建spring工廠
,從工廠中獲取對象的方法。比較復雜,我們可以使用spring 單元測試功能,來解決這個問題:
如果要使用spring的單元測試,需要先引入spring 單元測試的jar包:
/**
* 使用junit進行單元測試
*/
//指定在單元測試啟動的時候創建spring的工廠類對象
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
//RunWith的value屬性指定以spring test的SpringJUnit4ClassRunner作為啟動類
//如果不指定啟動類,默認啟用的junit中的默認啟動類
@RunWith(value = SpringJUnit4ClassRunner.class)
public class JunitTest {
@Autowired
private OrderService orderService;
@Test
public void testSave(){
// ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// OrderService orderService = context.getBean(OrderService.class);
//保存訂單
Orders order = new Orders();
order.setId(1L);
order.setCreate_user("張三");
order.setCreateDate(new Date().toString().substring(0,20));
order.setTotalMoney(9000D);
OrderItem oi1 = new OrderItem();
oi1.setId(1L);
oi1.setPname("洗衣機");
oi1.setPrice(900D);
oi1.setNum(1);
order.getOrderItems().add(oi1);
OrderItem oi2 = new OrderItem();
oi2.setId(2L);
oi2.setPname("微波爐");
oi2.setPrice(356D);
oi2.setNum(2);
order.getOrderItems().add(oi2);
//執行保存
orderService.save(order);
}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM