java测试类调用方法_java – 在单元测试中调用其他类方法
我有一個類,其中包含一個對象列表,然后使用這些對象的狀態返回用戶計算的值.例如:
class MyContaier {
private List m_listOfObjects;
public MyContainer() {
...
}
public void addObject(MyObject object) {
m_listOfObjects.add(object);
}
public int calculateTotal() {
int total = 0;
for (MyObject object : m_listOfObjects)
total += object.getValue();
return total;
}
}
我試圖使用junit和mockito對calculateTotal方法進行單元測試,但為了做到這一點,我需要在m_listOfObjects中添加一些模擬的MyObject實例.但是,這意味著在calculateTotal測試addObject中調用另一個方法.
這是一個有效的單元測試,還是反對最佳實踐,因為我對calculateTotal的測試也依賴于addObject方法?
解決方法:
“單元”測試并不意味著單獨測試一個類.
如果你可以使用簡單的代碼創建對象,我建議你這樣做而不是添加Mocks.
使用代表有效輸入示例的簡單實際對象,您將獲得強大的測試.試圖過度模擬一切只會導致簡單,容易破壞,通常無用的測試.
是的 – 它仍然是一個單元測試 – 該單元是計算所討論對象的所有值.
標簽:java,unit-testing,junit,tdd,mockito
來源: https://codeday.me/bug/20190528/1169282.html
總結
以上是生活随笔為你收集整理的java测试类调用方法_java – 在单元测试中调用其他类方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开发APP需要什么技术?
- 下一篇: mysql官网 源码下载_mysql官网