我寫作單元測試&新一邊寫測試用例下面的情形我卡住了:如何編寫針對一組方法的單元測試,其中每個方法都依賴於其他方法?
Class A
{
public B createB(string name);
public B getB(string name);
public void removeB(B instance);
}
Class B
{
public B(string name);
}
方法createB()
將其是否具體名字已經存在的B
實例返回null。因此,測試createB()
成功完成的情況下,我已經打電話給getB()
檢查,如果再存在removeB()
將其刪除:
A a = getInstanceOfA();
public void testCreateB()
{
B b = a.getB("B");
if (b != null)
{
a.removeB(b);
}
assertNotNull(a.createB("B"));
}
這違反測試案例」的規則必須失敗只有一個原因「,如果測試失敗,我不知道問題來自哪裏。測試getB()
方法是一樣的,createB()
必須被稱爲開始測試的先決條件。我使用JUnit,每次開始測試時,測試用例都會被洗牌。在這種情況下是否有最佳做法來確保測試用例的隔離?
另外需要注意的是,getInstanceOfA()
方法是從另一個庫提供的API調用,並且不可控制得到'乾淨'實例A
。