[英]Unit testing. About independent tests
在降級我的問題之前,請聽:)我使用單元測試。 而且我知道他們必須彼此獨立。 雖然如何測試書庫。 必須先創建第一本書,然后進行更新然后刪除。 我有三個單元測試。 依賴這些單元測試不是對的嗎?
[TestFixture]
public class CompanyRepositoryTests
{
public void CreateCompany()
{
// This must be called 1
}
public void UpdateCompany()
{
// This must be called 2
}
public void DeleteCompany()
{
// This must be called 3
}
}
關於單元測試(與集成測試相對)的一件事是,它們僅應測試一種方法。 因此,例如,如果您有一個如下所示的方法:
public void createCompany(Company c) {
if (c == null) {
throw new NullPointerException();
}
database.create(c);
}
一個好的測試只能測試兩件事:
null
,則拋出NullPointerException
null
則調用database.create()
database.create()
是否真正有用嗎是另一個問題。 這與對數據庫進行單元測試有關。
在您的情況下,請根據建議模擬基礎存儲,並編寫適當的單元測試。
另一方面,在集成測試中,具有依賴關系顯然很好。 即使這樣,您的測試也應該看起來像
每個測試都應該從頭開始。
在本練習中,您將學習如何測試修改數據庫的CRUD操作。 要考慮的前提之一是測試不一定按特定順序運行。 另一個是,每個測試可以根據需要執行多次。 因此,您的測試不應依賴於先前的測試執行。 例如,如果您的測試要刪除數據庫中的記錄,則測試的設置應提供要刪除的記錄。 這樣,可以重復執行測試。
您可以模擬依賴項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.