2013-04-02 4 views
-2

Я делаю модульное тестирование (код, написанный другим студентом) в java с помощью TestNG. Проблема в том, что я не могу издеваться над объектом в коде, потому что каждая функция принимает ArrayList из ArrayList (значение в arrayList является объектом ArrayList). Пожалуйста, предложите мне какие-нибудь инструменты для насмешек или любого хорошего метода, я попробовал easyMock и другие и имел такую ​​же проблему.JAVA-unit testing

+0

Почему это мешает вам насмехаться? Возможно, вы могли бы привести пример, иллюстрирующий вашу проблему? – femtoRgon

+2

Хотя это запах дизайна, я не вижу, чтобы он мешал вам издеваться над методом. Покажите нам код для проверки, код, который вы пробовали, и полученную вами ошибку. –

+0

i m не получает никакой ошибки ....... входная переменная в большом количестве и с трудностями найти все переменные .. –

ответ

1

Дизайн кода, который вы тестируете, кажется очень подозрительным, но это не должно мешать вам тестировать его. Просто потому, что вы пишете тест, это не значит, что вам нужно высмеять все. Вы можете создать объект, который нужно передать в заранее, а затем передать его методу, который вы тестируете:

@Test 
public void testStuff() { 
    List outerList = new ArrayList(); 
    List innerList = new ArrayList(); 
    innerList.add("something"); 
    outerList.add(innerList); 
    someObject.crazyMethod(outerList); 
} 

Там должна быть какая-то документация, где ваш однокурсник объясняет, как назвать свой код, чтобы вы может знать, что ему передать. Это не должно быть вашей ошибкой, если он настаивает на том, чтобы его объекты назывались сумасшедшими.

У меня есть ответ на другой вопрос, который говорит о том, когда насмехаться, а не до here.