O documento discute o conceito de mock objects para testes de software, descrevendo suas vantagens e como implementá-los. É apresentado um exemplo prático de uso de mock objects para testar uma classe de conversão de temperatura e são discutidos alguns frameworks populares para criação de mock objects em Java, como jMock e EasyMock.
1. TQS - Teste e Qualidade de Software ( Software Testing and Quality ) Mock Objects João Pascoal Faria [email_address] www.fe.up.pt / ~jpf (baseado em slides de ex-alunos)
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15. Exemplo com jMock 2 – código de teste import org.jmock.integration.junit3.MockObjectTestCase; import org.jmock.Expectations; public class JMockTestConvert extends MockObjectTestCase { // set up final City mockCity = mock(City. class ) ; final Sensor mockSensor = mock(Sensor. class ); public void testGetTemperatureInCelcius() { // expectations checking( new Expectations() {{ one( mockCity ).getSensor(); will(returnValue( mockSensor )); one( mockSensor ).getCurrentTemperature(); will(returnValue(72.5)) ; }}); // execute double result = Convert. getTemperatureInCelcius ( mockCity ); // test assertEquals (22.5, result); } }