���f�B�A

�Ɩ��������̓���i6�jGoogle Test���g���Ă݂悤�y����2�z�F�R�Y�P���́g���݂��݁h�Șb�i159�j�i1/3 �y�[�W�j

�\�t�g�E�F�A�J���ɂƂǂ܂�Ȃ��APC���g���S�Ă̐l���ΏۂƂȂ�V���[�Y�u�Ɩ��������̓���v�B��6��́A�O�񓱓������uGoogle Test�v�̎g�����ƁA�u�A�T�[�V�����v�u�p�X�E�J�o���b�W�v�ɂ��e�X�g�̕��@���Љ��B

» 2022�N11��28�� 07��00�� ���J
���{�L���̓A�t�B���G�C�g�v���O�����ɂ����v�𓾂Ă��܂�

1�D�͂��߂�

�@�{�V���[�Y�ł́A���X�̋Ɩ������������A�莞�ł�����ƋA�����@���Љ�Ă��܂��B��ȋƖ��������̗�́A�ȉ��̂悤�ɂȂ�܂��i�ڂ�������154���Q�Ɓj�B

  • �X�y�b�N�̍����n�[�h�E�F�A�𓱓�����
  • �g�p�@����g�����Ȃ�
  • �c�[���𓱓�����
  • �����Ńc�[�������
  • ���������H�v����

�@�Ɩ��������̕��@�͂��܂��܂ł��B������u�c�[���𓱓�����v�ɒ��ڂ��A�O���́wGoogle Test���g���Ă݂悤�x�̑��҂ƂȂ�܂��B���̃c�[�����g���A�u�A�T�[�V�����v�Ɓu�p�X�E�J�o���b�W�̌v���v�����{�����̓I�ȕ��@���L�q���܂��B�ǂ�����A�e�X�g��i������ŋ��͂ȃc�[���ƂȂ�܂��B

�˘A�ځu�R�Y�P���́g���݂��݁h�Șb�v�o�b�N�i���o�[

2�D�O��̐U��Ԃ�

���ʐ^�̓C���[�W�ł�

�@�P�̃e�X�g�ȍ~�̍H���Ńo�O����������ƁA�u�Ȃ��쐬���Ă���Ƃ��ɋC�t���Ȃ������̂��낤�c�c�v�ƌ�����邱�Ƃ�����܂��B�����h�����߂ɂ��A�P�̃e�X�g�����������邱�Ƃ͏d�v�ł��B

�@�P�̃e�X�g�́A�v���O�����̍ŏ��P�ʁi1�֐��^���\�b�h�P�ʁj�Ńe�X�g���邽�߁A�P���ȃo�O��e�ՂɌ��o�A�C���ł��܂��B�������A��Ɨʂ��������߁A���{�͊ȒP�ł͂���܂���B

�@�P�̃e�X�g����炸�Ɍ����e�X�g�ň�C�Ƀo�O��E�o����J���헪������܂����A�C���ӏ��̎��ʁA�e���͈͂̒����Ȃǂ���ςɂȂ�܂��i�P�̃e�X�g�ł́A100�X�e�b�v�O��̃\�[�X�R�[�h�̒�����o�O��T���܂����A�����e�X�g�ł́A100���s����o�O��E�o���Ȃ���΂Ȃ�܂���j�B����ɁA�ڋq���܂߂Ď��{����V�X�e���e�X�g�܂ōH�����i�ނƁA���Ƃ��P���ȃo�O�ł��A�X�P�W���[���̊֌W�ŁA�u�ً}�̏C���Ή��v�u�^�p�ŃJ�o�[�v�u���o�[�W�����ŏC���v�ƂȂ�A�C�y�ɏC���ł��Ȃ��Ȃ�܂��B�܂��͒P�̃e�X�g��������Ǝ��{���邱�Ƃ����ɏd�v�ł��B

�@�O��́A�P�̃e�X�g�̃c�[���ɒ��ڂ��uGoogle Test�v�Ɓugcov�^lcov�v�̓������@���Љ�܂����BGoogle Test�́A�e�X�g�R�[�h���L�q���A�����悭�e�X�g����c�[���ł��B�܂��Agcov�^lcov���g�����ƂŁA���s���̃p�X�v�����”\�ł��B�Ȃ��A�‹��\�z�̎菇�́A��157������158�����������������B

�@����́A���̃v���O�������ނƂ��āAGoogle Test�̎g�������Љ�܂��B

3�DGoogle Test�������ƒm�낤�I

�@�܂��AGoogle Test�̋L�q���@��������܂��B

3.1 ���̃v���O����

�@���L�ɗ��Ŏg�p����v���O�����������܂��i���X�g1�j�B

//���v���O����
#include <gtest/gtest.h>
//�e�X�g�Ώ�
int sum(int a, int b){
	return a + b;
}
int main(int argc, char **argv)
{
	//Google Test�̏�����
	::testing::InitGoogleTest(&argc, argv);
	//�S�e�X�g���s
	return RUN_ALL_TESTS();
}
//Sum�֐��̃e�X�g, ���ʂ̊m�F
TEST(SumTest, CheckResult){
	EXPECT_EQ(30, sum(14,16);
	EXPECT_EQ(20, sum(5,15);
	EXPECT_EQ(90, sum(30,60);
}
�@���X�g1�@���v���O����

�@����́A2�‚̈��������Z����sum�֐����e�X�g����v���O�����ł��B

3.2 �������ƃe�X�g���s

3.2.1 �������ƃe�X�g���s

�@Google Test�ł́A�������ƃe�X�g���s���ȉ��̂悤�ɋL�q���܂��i���X�g2�j�B

//���v���O����
#include <gtest/gtest.h>
int main(int argc, char **argv)
{
	//Google Test�̏�����
	::testing::InitGoogleTest(&argc, argv);
	//�S�e�X�g���s
	return RUN_ALL_TESTS();
}
���X�g2�@Google Test�ɂ����鏉�����ƃe�X�g���s�̋L�q

3.2.2 �w�b�_�t�@�C���̃C���N���[�h

�@Google Test�́A�w�b�_�t�@�C����ǂݍ���Ŏg���܂��B���́u#include�v�Ə����Ă��镔�����C���N���[�h���Ă���ӏ��ł��B

3.2.3 �������ƃe�X�g���s

�@Google Test���g�p����ꍇ�́A�uInitGoogleTest�v�ƋL�q���܂��B����ŁAGoogle Test���g�p���鏀���������܂����B

�@�e�X�g���s����ۂ́A�uRUN_ALL_TESTS()�v�ƋL�q���܂��B����ɂ��A�L�q�����e�X�g�R�[�h��S�Ď��s�ł��܂��B

�@�@�@�@�@�@ 1|2|3 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

'; } else { return false; } recoBox.innerHTML = html; return recoBox; }; // �֘A�L�����擾���č�����g������i�����L���j var setRecomend = function(type) { // �L�[���[�h�����Ƃ�html ���擾 var wp = setRecomendItem(); if(!wp){ cx_count(test_id + '_default_imp','impression'); console.log(test_id + '_default_imp','impression'); return false; } // ���X�g��n����html���쐬 var recoBox = wplistHtml(wp,type); // target ���擾 var target; if(d.getElementById('endlinkConnection')){ console.log('�֘A�L��'); target = d.getElementsByClassName('endlink')[0]; } else { console.log('indexlink'); target = d.getElementById('colBoxIndexlink'); } // target �Ƀ��R�����h������ target.parentNode.insertBefore(recoBox, target); cx_count(test_id + '_' + wp.group + '_imp','impression'); console.log(test_id + '_' + wp.group + '_imp','impression'); // a �^�O���擾���� var atags = recoBox.getElementsByTagName('a'); for (var j=0; j 0) { var box_list = d.getElementsByClassName('cmsBodyBox'); for (var i=0; i
' }, { 'src':'' }, {}] }; setForumCornerLink(cornerlink); })();