例如,我有一個java類如下。我將爲doWork()編寫一個單元測試,所以我想控制obj的行爲。但很明顯obj在內部被實例化了。如何在一個方法中編寫一個UT來模擬一個內部對象?
我該如何寫這個UT?現在我正在使用Junit + Mockito。
class ToBeTest{
public ToBeTest(){}
public boolean doWork(){
OtherObject obj=new OtherObject();
return obj.work();
}
}
在此先感謝。 :)
順便說一句,現實是我寫他人的班的UT。所以我不想改變它。它已通過集成測試進行了全面測試。
'obj' *是否有內部實例化?將它視爲一種依賴關係是否有意義? –
你說得對。但現實是我爲他人的班級寫了UT。所以我不想改變它。它已經完全測試。 – Smartmarkey
另一點。我們不能在我們的班級注入所有對象。就像我們打開一個文件一樣,所以我們需要實例化一個File類。 – Smartmarkey