[英]Integration test for spring jdbc
假設我們有一個服務層:
@Service
public class MyServiceImpl implements MyService {
@Autowired
private MyDAO myDAO;
@Transactional
public void myMethod(SomeObject someObject) {
myDAO.insertIntoMyDb(someObject);
}
}
假設myDAO使用spring jdbc:
@Repository
public class MyDAOImpl implements MyDAO {
@Autowired
private NamedParameterJdbcTemplate jdbcTemplate;
@Override
public void insertIntoMyDb(SomeObject object) {
// some code before this where we get query and param
int numberOfRowsUpdated = jdbcTemplate.update(query,param);
if(numberOfRowsUpdated != 1)
throw new Exception("Error while inserting a record in database. Actual records inserted : " + numberOfRowsUpdated);
}
}
我想寫2個測試。
第一個測試將僅檢查我的dao層。 我想在這里進行jdbc調用,獲取數據並驗證。 我不想嘲笑他們。
第二項測試是集成測試。 我希望我的服務層可以調用Dao層。 請注意,有交易。 現在,這將為我提供來自DAO的數據。 DAO再次必須連接到db以獲取數據。
我正在使用彈簧靴。 我的數據庫屬性存在於applicationITest.properties文件中。
這兩個測試該怎么做? 我必須使用什么正確的注釋? 有人可以舉個例子嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.