ISG3 - Pruebas Unitarias

31
Departamento de Departamento de Lenguajes y Sistemas Inform Lenguajes y Sistemas Inform á á ticos ticos

Transcript of ISG3 - Pruebas Unitarias

Page 1: ISG3 - Pruebas Unitarias

Departamento deDepartamento deLenguajes y Sistemas InformLenguajes y Sistemas Informááticosticos

���������� ������� � ��

� ��� � � �� �� � �� � �����

������������� �����������������

����������������

Page 2: ISG3 - Pruebas Unitarias

����������������

♦���� ������♦ ���������������♦ ��

♦���� ������������ ���������������♦������� ����♦ �� ���������

♦���������������������♦��������

Page 3: ISG3 - Pruebas Unitarias

����������������������

♦ ���������♦����������������������������������������

♦ ����!������♦��������������������������������������������

Page 4: ISG3 - Pruebas Unitarias

������������

♦ "���������������!����������!�#���$♦�������$��%�������������������&�������������������������

♦'��������$�������������������&������������������������(�)��������*

♦����!�������!�����$���+�����������������&��(,(%*�-��*

Page 5: ISG3 - Pruebas Unitarias

��� ���������

♦�������♦.��&�����♦,��������♦/��&�0����1�♦2��������

3�����+�������������������!�#���

Page 6: ISG3 - Pruebas Unitarias

����������������

♦ .���������♦����������������♦ ��

♦���� ������������ ���������������♦�����������♦ �� ���������

♦���������������������♦��������

Page 7: ISG3 - Pruebas Unitarias

����������������

������������������ ��� ������������������������������� ����������������������� �

������������������� ������������������ �����!������ ����������������������� �������������������������� ����������������

�� �������

����� ������������� ���������

Page 8: ISG3 - Pruebas Unitarias

��������

♦ /���&����������������������4��������������������������������(&�����������5��!����#)��� ��%������&*

♦�������������������������4����♦���������������������������������♦6���������������������������!������&(��&������*

♦2����������������������7�♦6���������������������

Page 9: ISG3 - Pruebas Unitarias

����������������

♦ .���������♦���������������♦�����

♦���� ������������ ���������������♦�����������♦ �� ���������

♦���������������������♦��������

Page 10: ISG3 - Pruebas Unitarias

�����

♦ ,����#��� �������������+�����������������������

♦���������������89:;���������)3�������<��=���

����� ����� ���� � ����������� ��������� ���� ������� ������ � ���

����� � ���������� ����

Page 11: ISG3 - Pruebas Unitarias

����������������

♦ .���������♦���������������♦�����

♦���� ����������� ����� �������♦�����������♦ �� ���������

♦���������������������♦��������

Page 12: ISG3 - Pruebas Unitarias

���� ����� ���� ������

♦ Test cases

♦/������4�����!�����������������������������������(� *

♦ Test suites♦/�����������TestCases

♦.����������������!����#�������������������������7�$

♦/����� (TestCase*♦/�������� (TestSuite*

Page 13: ISG3 - Pruebas Unitarias

!�������������

♦ >������������������TestCase♦��!���������������������1�������?�������testXXX()

♦����������������1������assert() ���������������������������������������!��������������������

♦�����������+��������1������setUp() ��tearDown() ������������+�����������������������������������������������������������TestCase@�/�������������������������������%��������A����!�%����B

Page 14: ISG3 - Pruebas Unitarias

"�������#����$

♦ �������������������������%�����5 ���������4����%������TestCase ��4���������������1�������?������������������

♦��$

♦C��������������?�����1������?��������������4��������������������������(�1������testXXX()*

void testRemoveDetail()removeDetail(String pid)

void testAddDetail()void addDetail(Detail detail)

TestOrderOrder

Page 15: ISG3 - Pruebas Unitarias

%������

/���������4��������������������!�������������������������������+�����AssertionFailedError ��������������������������(�������*

assertNotSameassertSame

/���������4��������������0����������������������+�����AssertionFailedError ��������������������������(�������*

assertNullassertNotNull

��������4���������� !������������������������(�������*

fail

/���������4�������������������&����������������+�����AssertionFailedError ��������������������������(�������*

assertEquals

/���������4�����������������������0!������������������+�����AssertionFailedError ��������������������������(�������*

assertTrueassertFalse

Page 16: ISG3 - Pruebas Unitarias

����������������

♦ .���������♦���������������♦�����

♦���� ������������ ���������������♦&���� � # �'♦ �� ���������

♦���������������������♦��������

Page 17: ISG3 - Pruebas Unitarias

&���� �# �'

♦���������������������������������������������������������4����������?���������&��4���4��������������

♦��&��������������������������&�����!��������������������������������&������������������(4����������������������������*�

♦��������$♦��������������4���)����������������2�♦��������������4���)��������������%�����>���

Page 18: ISG3 - Pruebas Unitarias

����������������

♦ .���������♦���������������♦�����

♦���� ������������ ���������������♦�������D���♦����� �������

♦���������������������♦��������

Page 19: ISG3 - Pruebas Unitarias

����� �������

♦ .�������������������$♦eclipse\plugins\org.junit_3.8.1

♦��!���������������������1����������������4����%������junit.framework.TestCase

♦������������������$�♦Run/Run As/Junit Test

♦6��������������������������������$♦Run/Debug As/Junit Test

Page 20: ISG3 - Pruebas Unitarias

����� �������

Page 21: ISG3 - Pruebas Unitarias

����������������

♦ .���������♦���������������♦ ��

♦���� ����������� ���������������♦�������D���♦ �� ���������

♦����(��)���)�� �#���♦��������

Page 22: ISG3 - Pruebas Unitarias

����*(��)���)�� �#��� +�((,

♦ �������1�����������&�������������4������������������!�����������������������1�������&����!������

♦ '�&��������������$♦ 6�����������������&��������&��������!�����������♦2���������!������&������������1%������������������� � (6�������������������������)��������������������������������*

♦ �����4���!�����������������������������������!����#�����������������������(��$� ��*

Page 23: ISG3 - Pruebas Unitarias

- �������

���������������������������������� �

Page 24: ISG3 - Pruebas Unitarias

����������������

♦ .���������♦���������������♦ ��

♦���� ������������ ���������������♦�������D���♦ �� ���������

♦���������������������♦.��#�� �

Page 25: ISG3 - Pruebas Unitarias

.��#�� /

interface IQueue {Object front();Object enqueue(Object element);Object dequeue();int size();boolean empty();public void clear();

}

Page 26: ISG3 - Pruebas Unitarias

.��#�� /

public class Queue implements IQueue {

private LinkedList queue;

public Queue() {queue = new LinkedList();

}

public Object front() {if (queue.size() == 0)

throw new EmptyQueueException();return queue.getFirst();

}

public Object enqueue(Object element) {queue.add(element);return element;

}…

Page 27: ISG3 - Pruebas Unitarias

.��#�� /

public Object dequeue() {if (queue.size() == 0)

throw new EmptyQueueException();return queue.removeFirst();

}

public int size() {return queue.size();

}

public boolean empty() {return (size() == 0);

}

public void clear() {queue.clear();

}

}

Page 28: ISG3 - Pruebas Unitarias

� ������

public class TestQueue extends TestCase {protected IQueue queue;protected IQueue empty_queue;

protected void setUp() {empty_queue = new Queue();queue = new Queue ();queue.enqueue (new Integer (1));queue.enqueue (new Integer (2));queue.enqueue (new Integer (3));

}

public void testSize() {assertEquals(queue.size(),3);assertEquals(empty_queue.size(), 0);

}

public void testEmpty() {assertTrue (empty_queue.empty());assertTrue (!queue.empty());

}

Page 29: ISG3 - Pruebas Unitarias

� ������

public void testClear() {queue.clear();assertTrue (queue.empty());

}public void testEnqueue() {

Integer i = new Integer (4);int size = queue.size();assertEquals ("enqueue doesn't return the added object",

queue.enqueue (i), i);assertEquals ("queue size is not incremented",

queue.size(), size + 1);}

public void testDequeue() {int size = queue.size();try { empty_queue.dequeue();} catch (EmptyQueueException e) {

assertTrue (true); }Integer i = (Integer) queue.dequeue();assertEquals (i, new Integer (1));assertEquals ("size of queue is not decremented",

queue.size(), size - 1);}

}

Page 30: ISG3 - Pruebas Unitarias

.��#�� 0

♦ ������Order♦C����1������getters/setters ������������(���������*

♦ D1��������������$♦public void removeDetail(String pid)$���������������������������������������������������

♦public void addDetail(Detail detail)$27���������������������������%���������������������������������������������������������������������������������������������@���������������������7������������������������������������������������

Page 31: ISG3 - Pruebas Unitarias

1�������1

♦2� �# �#�� ��������������3

D5��������������������E���@��@��