3 junit - doshishamikilab.doshisha.ac.jp/dia/seminar/2006/programming_semi/test_se… · 4 junit...

4
2006 1 2006 5 19 : JUnit 1 Eclipse JUnit 2 . 3 JUnit Eclipse JUnit JUnit Java Java JUnit JUnit JUnit JUnit JUnit Sample SampleTest 1

Upload: others

Post on 14-Oct-2020

28 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3 JUnit - Doshishamikilab.doshisha.ac.jp/dia/seminar/2006/programming_semi/test_se… · 4 JUnit 4.1 JUnit Eclipse È / ÀÁ 1 JUnit Ѿ t85(É Q ©Q ª ë-ì Q ¹¸ - ¶ ' ÑW 8

2006����������� ��� ������������� �����

�1 � ����� �"!

#%$ &�'�( )+*-,/.�0�1�2�3�4�5 6�1�7-8/9:�;�<�= )+>-,/?�@�1�A�BDC�EF�G 5 )

2006 H 5 I 195

J%K�L�M: N�OQPSR-T UWV�X�Y�Z-P [�Y \�]�^�_�`ba�UWc�dfehg�i�j-^ k�l�a�m�n-o p�q�rWs�t�c�d%eR�u�v�w x�y JUnit ^ k�l�a�p�q�r

1 z|{�}%~8-#�$b�Q�W1����-��� FW�Q�W�Q��� �������-� ������Q��� 4���� � 1������-�������f� ��� 1¡ �¢-£ ��¤b¥��¦-��§ � � ��4Q¨ � ��©��-ª ���-��� FW�Q�����-� ���� � ��1¬«-­-�����h1¬®-¯-�����h1¬°-¯-�����²±-³�´µ �-�¶��· �¹¸ ¢Qº ��» § � » 1¼8-#f$��Q��«�­-�-�¶��¾½�¿ ��§ ����� 4��¾�À� ª £ÀÁ � 1

Eclipse�¾ÂÄÃ�¸

� ��� ���¶�²Å���Æ�Ç���§ �JUnit�WÈ ��É��W�-� ���� 4����%� ª

2 Ê�Ë Ì�Í�z�����Q� FW� ����1�Î-Ï�Ð-Ñ��-�WÅ-Ò ©Q�WÓQ� �Q���ÔÖÕ¡× ÁØ¢ÚÙ¼Û¡�ÄܼÛÞÝ �¼ß Ð » � � �Úà � � �¾á¡âÁb1¡���-�Q� �-ã�ä �Wå-æ ©���ç-è » § �-ª £Qé�������Q� ��ã�ä �Wæ � ¢�ê � ������· � �b���Q����� ª �-�� ��¤ ¥ ��ë�ì ��í%î ��§ ��ª•

ß Ð�� ��ï�©��ð ��ñ���ß Ð�� ��ï Á 1 ð ��ñ���ò�ó�©�� éÄ· ��1������� ��ã�ä ��å�æ%ô õ ��ª

• ö�÷ »�ø�ù Á ¢Qé�·���å�ú ©�������Ä� F�� � ð � ð � � ��� »�øÄù Á ¢�éÄ·���1û ��º à � ��ü ����4�ý���þ���ÿ ©.

��������� ü î�� õ�¢�º � ������©Q����¶� ��ü î �W�-��� ����Q��� � ���Á � 1 ���©�� é�· » ��� ��ª�¬� � �¬� ��� � ð���� è �¬º �¬» «¬­¬��� � � § �¬ª���Q�Q¨b1 F�� � � ���� � ß Ð » ï-� �Qî 1 £�õ-ë��� �-��������Û� � �� é�· » ��� � � ¨��Q§ �-ªØß Ð� ��ï ë�� � «-­���� � ���� ��ë�ì ��í%î ��§ ��ª•

ÙWÛ���ÜWÛ¶Ý ��! ¢ ©" � ´ µ# Î�Ï�Ð�Ñ�� ��$%ö�& ��ÿ ©

• ' Ñ�� » ��� ø�( Á ¢ � 1�)�*�+�,Q��-�. �

3 JUnit

Eclipse� �

JUnit· � � �-� �SÅ���Æ�Ç » Â�Ã�¸ ��Ä��ª

JUnit�

JavaÎ�Ï�Ð�Ñ��¾«�­���� �0/ ��132 Û�54¾Û ' � éÄ·Ø��1 Java� Î�Ï�Ð�Ñ��¾«56���§ � ' Ñ��7 � «-­-�����b�W�f� ª £fÁ ��8�( Áb¢-�����:9�Û-�·�Î-Ï-Ð�Ñ-� � Å��-®�; » ¯ ¸ � �Q� � ��<�=?> ' ©Q�´ µ � @�A ©Q�-ª

JUnit��ü-¸ ��B-íQ� �-��� 1�2 ÛQ�

4�Û ' �-º � é�·b��1DC�E � �-�¶�bÎ�Ï-Ð�Ñ-� � ò-ó �F�G ��©���ª ö�& � ¯�H ©�� «�­���� � ��I ��J�� ��K£ � «�­-�-�¶� � í �-ü �W�-Ü�Û¶Ýb� J�� � � Ô ª Î-ÏÐ-Ñ-� � L�©Q�Wè�M » N�OP Á � ��� ¢QêW1DE � Q ��ü� ��� � ��R5S � �UT�V » § ��ª�W . � 1���� �ØÎ�ÏÐ-Ñ-��� 8( Á�1YX�Z P �����b�W�f�WéQ· » [  QÁ � ·� . ��ª �-�¶� ö�& » 8�( �\��õ�]W1�Î-Ï�Ð-Ñ-� � �-��b��X�Z P ©�� éQ· » ��� �-ª  �¢-1JUnit�Q� N�^���-���_9-Û��Q�� Q·Wê � Å�� ©�� é�·�º ` µ ��§ ��ªba� 1¼�-��� ö& » §Wõ�]�1¡Î-Ï-Ð-Ñ�$ c-Ð ø�(Q��d Û�e· ©Q� éQ· » �\� �-ª £fÁ � 1 �-�¶�:9-Û�� � ¦�f�Û�g

cf�b� '�h�i Á�¢ � � j�k ¥ ��l .W1 ø�(  �� �Q¤�m �©�� é�· » ��� ��ªJUnit� ��n ��o h >�� » § ��ª

��� � »�p « � Å�Ò���� �JUnit�������_/ � ' Ñ���� qrfÁ � ����� ' ÑW�� 8( Á � �Q� � �-1tsu\T � ÜWÛ�vxw�c¬Ð���«�­��� � ��y�z-��� ��ª

��� � » ° ð ¥ � 8�( ��� �1\2 Û���4WÛ ' · � �|{}~ » § � é�·b��1�° ð ôõ�¢ É�� ���-� � ���%��é�· » ��� ��ª

��� ��· Å�ÒQÜ�Û Ý �����JUnit���WÅ�Ò ' Ñ ���

Sample � ��L Á � 1����¶�' Ѿ���

SampleTest � � 8�( ©Ú��ª é � éÄ· ��üî 1¾���¶��ÜWÛ�Ý���Å-Ò�ÜWÛ�Ý�� ��� ©�� éQ· » �� ��ª

1

Page 2: 3 JUnit - Doshishamikilab.doshisha.ac.jp/dia/seminar/2006/programming_semi/test_se… · 4 JUnit 4.1 JUnit Eclipse È / ÀÁ 1 JUnit Ѿ t85(É Q ©Q ª ë-ì Q ¹¸ - ¶ ' ÑW 8

4 JUnit ���������4.1 JUnit ����� ��������

Eclipse� È /ÀÁ � 1

JUnit� ��� � ' Ѿ� �t85( É�Q����� ����� ©Q��ª ë-ì � Q�� ���¹¸ � �-�¶� ' ÑW�� 8�( ©Q�-ª�� Áb1�Î-Ï��= ' ���-1 ' ÑW���Q��X����§ ��ª

1. JavaÎ�Ï���= ' � � 8�( ©���ª

2.8�( Áb¢�Î-Ï��= ' � ��� Á � ' Ñ����

AddNum � 8�( ©���ª é � ·��¾1 �public satic void(String[]

args) � · � qrfô�õ-¢�!�" o Ùx> Ý � � < = > ' �# õ ��ª �Fig. 1�%$�&

Fig. 1 ' Ñ�� ��8�(3.f > 9�Û'�)( ' ��Î�Ï Û�ÑW� ' Ñ �*�

AddNum �+ '�h > ' Á 1 � ��, ��- �JUnit Test Case � �%./�©���ª �

Fig. 2�%$�&

Fig. 2 JUnit Test Case��8�(

4. Fig. 3� ��, ���¶�:9�Û���0�1 »�2W� Ô � � � � �� � � '�h > ' ©���ª

5. Fig. 4� ü � �

JUNITÑ%354�Ñ h ”junit.jar” 6 �f¬� »87 e Ý ô õ ��ª a �

Fig. 5� �9,

JUnit� �

��: 9�Û���0�1 �);�� � ���=< ù � � '\h > ' ©���ª

Fig. 3��, ��� �09����0�1

Fig. 4 JUnit.jar 6 � f��

Fig. 5��� � ��8�(

ë�> �%?�@ ����� � ' Ñ�� � 8�(�» < ù ��§ ��ª4.2 JUnit ��A�B�C�D

Eclipse� ¨

JUnit��Å-� ©Q��É�Q�W�-� ���-� ©Q�-ª

E�F-� 8�( Áb¢ ' ÑW�f·b����� ' ÑW�Q��G/fÁ � 1¾ë-ì� Q�� ���¹¸ �JUnit��Å�� ©��-ª � � 1¼ë-ì � �-�¶�

' Ñ��%· Hf¨ © � Ù�Û���� Õ�× ©���ª

2

Page 3: 3 JUnit - Doshishamikilab.doshisha.ac.jp/dia/seminar/2006/programming_semi/test_se… · 4 JUnit 4.1 JUnit Eclipse È / ÀÁ 1 JUnit Ѿ t85(É Q ©Q ª ë-ì Q ¹¸ - ¶ ' ÑW 8

1. AddNumTest.java� �import junit.framework.TestCase;

public class AddNumTest extends TestCase {

public void testAddNum() {

int tn1 = 17;

AddNum check = new AddNum();

int test = check.addNum(8, 9)

assertEquals(" ������� ", tn1, test);

}

}

� �2. AddNum.java� �

public class AddNum{

public int addNum(int a, int b){

int answer = a + b;

return answer;

}

}

� �3.�¬� � άϬЬѬ�¬� + 'xh > ' Á 1 � Ŭ� � - � JUnit��� � � �%. /-©���ª � Fig. 6

��$�&

Fig. 6 JUnit� ��

4. JUnit7�� Û » Z�Áb1

JUnit� ®�; »

Fig. 7� ü� ��� ­�0�1 � � ��� ÿ%ô õ ��ª

Fig. 7 JUnit� Å���®�;

5. � � ß Û » � ÿ�ôbõ�õ\]W����� ��(�� ��§ ��ª�� �ß Û �� ¯��W���¶� ���� ��§ ��ª ��� ©�� ·Fig.

8� ü � � (�Ñ�Û o > g�Û5� » � ÿ%ô õ ��ª

Fig. 8 JUnit� Å���®�; � �����

��� 8�( Áb¢�Î�Ï-Ð�Ñ-��� p «Q���Á������ ¸ � ���Î�Ï�Ð�Ñ��(AddNum)

�ħ î 1�£ � Î�Ï�Ð�Ñ�� » ó Á� ®�;Ä� � Á � �Ä� � )"! ©Ú� �¡» ���Þ�ÖΡÏ�Сѡ�(AddNumTest)

�Ú§ ��ª �#� � � ¯Ä� � � ß Û » � ÿô õ�1������ »�(�� Á ¢�é�· » ��� ��ª

4.3 JUnit �����%$'&�(*)

E F � ��� � �����(AddNumTest)

�¾1�+�¢ �®�;f·AddNum.java

� = ( ôbõ � ®�; » ð H ©Q� � �JUnit�

assertEqualso Ù�>QÝS��)�*%Á � �Q��ª

JUnit� � ^�,Q� �����:/ o Ùx> Ý » /�-fôbõ � �Q��ª ë-ì �Fig. 9�

JUnit��o Ù�>�Ý ��ÿ ©�ª

Fig. 9 JUnit��o Ù�>�Ý

3

Page 4: 3 JUnit - Doshishamikilab.doshisha.ac.jp/dia/seminar/2006/programming_semi/test_se… · 4 JUnit 4.1 JUnit Eclipse È / ÀÁ 1 JUnit Ѿ t85(É Q ©Q ª ë-ì Q ¹¸ - ¶ ' ÑW 8

5 ���ë�ì � ÿ�ô�õ � ��� �-�¶� ' ÑW� � Î-Ï�Ð�Ñ-��� 8�(� ü�ª� �

import junit.framework.TestCase;

public class CrossoverTest extends TestCase {

// �%������ �����public void test() {

String[] geneX = {"11010011", "11001010",

"10101101", "11101001",

"01001110", "10111011",

"00111010", "00011101",

"11101101"};

String[] geneY = {"10101010", "10110101",

"01011010", "11010101",

"11101101", "00010101",

"00010110", "11101010",

"00110011"};

int crosspoint = 4;

String[] gene = { "11011010", "11000101",

"10101010", "11100101",

"01001101", "10110101",

"00110110", "00011010",

"11100011"};

int[] crosspoint = {3,5}

String[] gene = {"11001011", "11010010",

"10111101", "11110001",

"01001110", "10110011",

"00110010", "00001101",

"11110101"};

//MakeGene ��� ����� �for(int i=0; i<9; i++){

out[i] = Crossover.MakeGene

(geneX[i], geneY[i], crosspoint);

// ��assertEquals(" ��� ", gene[i], out[i]);

}

}

}

� ��������

1)«-­���� ��·

JUnit,

http://www.techscore.com/tech/Others/JUnit/1.html

.

2) IT)"!$# )&%(' �

XPÝ Ñ 3 7 c¬Ð � ©¬© ê*)

4�

,

http://www.atmarkit.co.jp/fjava/devs/xpd04/xpd04.html

.

3) Java� + )

Eclipse(JUnit� G�/

),

http://www.javaroad.jp/opensource/jseclipse9.htm.

4