-2
我正在使用TestNG在java中進行單元測試(由其他學生編寫的代碼)。問題是我無法在代碼中嘲笑對象,因爲每個函數都在使用ArrayList的ArrayList(arrayList下的值是ArrayList的對象)。請爲我推薦任何用於嘲笑或任何好方法的工具,我嘗試了easyMock和其他方法,並且遇到了同樣的問題。JAVA-單元測試
我正在使用TestNG在java中進行單元測試(由其他學生編寫的代碼)。問題是我無法在代碼中嘲笑對象,因爲每個函數都在使用ArrayList的ArrayList(arrayList下的值是ArrayList的對象)。請爲我推薦任何用於嘲笑或任何好方法的工具,我嘗試了easyMock和其他方法,並且遇到了同樣的問題。JAVA-單元測試
您正在測試的代碼的設計似乎非常可疑,但不應阻止您對其進行測試。僅僅因爲你正在寫一個測試並不意味着你需要模擬的一切。您可以創建你需要事先傳遞對象,然後把它送給你正在測試的方法:
@Test
public void testStuff() {
List outerList = new ArrayList();
List innerList = new ArrayList();
innerList.add("something");
outerList.add(innerList);
someObject.crazyMethod(outerList);
}
需要有某種形式的文件在您的同學介紹瞭如何調用他的代碼,以便您可以知道要傳入的內容。如果他堅持讓他的對象叫做瘋狂的話,那不應該是你的錯。
我對另一個問題的答案是什麼,這個問題涉及何時模擬以及何時不模擬here。
爲什麼這會阻止你嘲笑?也許你可以舉一個例子來說明你的問題? – femtoRgon
儘管這是一種設計氣味,但我不認爲它會阻止你嘲笑該方法。向我們展示要測試的代碼,您嘗試的代碼以及獲得的錯誤。 –
我沒有得到任何錯誤.......大量輸入變量,並且無法找到所有變量.. –