public void TransactionTearDown()
{
if (ContextUtil.IsInTransaction)
{
ContextUtil.SetAbort();
}
}
所有的單元測試方法都需要繼承與此類。比如:
public class AddressSqlDAOTest : DatabaseFixture
這樣,單元測試方法執行完后,會繼續執行DatabaseFixture類中的TransactionTearDown()方法。從而會滾之前的數據操作,單元測試方法也就不會影響開發數據庫,同樣開發數據庫也不會影響單元測試方法的執行,從而保證了單元測試與數據庫數據的獨立。
二、如何CRUD單元測試
1、測試增加方法:判斷返回的主鍵是否>0,如果主鍵>0 說明單元測試方法成功,否則失敗
2、測試查詢方法:首先在執行單元測試類中的插入數據方法(不是被測試類中的插入方法,而是在單元測試類中寫的插入方法,一定要區分開),然后執行查詢方法。
3、測試更新方法:首先在執行單元測試類中的插入數據方法,然后執行更新方法。
4、測試刪除方法:首先在執行單元測試類中的插入數據方法,然后執行刪除方法。
三、單元測試的命名規范
為了便于后期單元測試方法的維護,建議如下命名單元測試類 和單元測試方法。
單元測試類名:被測試類名稱+Test
單元測試方法名:被測試方法名稱+Test
四、總結
至此,大家就可以利用Nunit中如何進行事務性單元測試已經完畢,相信大家也已經了解了如何讓單元測試獨立于數據庫數據,從而更高效地進行單元測試,也不影響開發。
文章來源于領測軟件測試網 http://www.kjueaiud.com/