Web�u���E�U��JavaScript���e�X�g����ujs-test-driver�v��QUnit�AJasmine��A�g���ăe�X�g����ɂ��F�t���[�����[�N�Ŏ��H�I JavaScript�e�X�g����i4�j�i1/4 �y�[�W�j

���������JavaScript���e�X�g���邽�߂ɁA�����ڂ�JavaScript�p�̃e�X�g�t���[�����[�N�������‚��Љ�A���̊T�v������H�I�Ȏg�����܂ʼn������A�ځB����́Ajs-test-driver�̊T�v���{�I�Ȏg�����A�񓯊������̃e�X�g���@�AQUnit��Jasmine�ƘA�g�����e�X�g���@�Ȃǂ��Љ�܂�

» 2013�N01��21�� 18��00�� ���J
[�����O�CTIS�@�R�[�|���[�g�{�� �헪�Z�p�Z���^�[]

�O��܂ł�Web�u���E�U���g��Ȃ�JavaScript�e�X�g

�@�O��uQUnit�{PhantomJS��JavaScript�̃w�b�h���X�ȃe�X�g�v�A�O�X��uPhantomJS��Jasmine�ŐU�镑���쓮�J����JavaScript�e�X�g�v�ƁA�uPhantomJS�v�����Ƃ���JavaScript�̃e�X�g���Љ�Ă��܂����B

�@PhantomJS�ł́AWeb�u���E�U�𗘗p�����ɃR�}���h���C������JavaScript�̃e�X�g�����s�ł���_�ɂ����āATDD�i�e�X�g�쓮�J���j�X�^�C���̊J�����s���ۂɑ傫�ȗ��_�����邱�Ƃ��q�ׂĂ��܂����B�ł����AWeb�u���E�U�𗘗p���Ȃ��̂́A�����b�g�����锼�ʁA�f�����b�g�ɂ��Ȃ�܂��B

�@JavaScript�ł̊J���o����������́AWeb�u���E�U�̈Ⴂ��1�x�͔Y�܂��ꂽ�o��������̂ł͂Ȃ��ł��傤���B��͂�J���҂Ƃ��ẮA�ł��邾�����ۂ̎g�p�‹��ɋ߂��‹��Ńe�X�g�������̂��{�����Ǝv���܂��B

�@�Ƃ͂����Ă��A���̒��ɂ͂��܂��܂�Web�u���E�U�����݂��Ă���A���ꂼ���Web�u���E�U�ɑ΂���1��1�ƒe�X�g�����‚ŠJ����i�߂Ă����̂́A�ƂĂ���ςȍ�ƂɂȂ��Ă��܂��܂��B���̂悤�ȏ󋵂ł́A1�x�̑���œ����ɕ�����Web�u���E�U��ΏۂƂ���TDD�X�^�C���̊J�����ł���‹���c�[�������߂��܂��B

Web�u���E�U�Ńe�X�g����ujs-test-driver�v�Ƃ�

�@js-test-driver�́A���̂悤�ȉۑ���������邽�߂̃c�[����1�‚ł��Bjs-test-driver�̓e�X�g�̎��s�‹��Ƃ���Web�u���E�U�𗘗p���܂��B

�@��̓I�ɂ́A�e�X�g�ΏۂƂ���Web�u���E�U���N�����Ă����A1�ˆȏ��Web�u���E�U�ɑ΂��ē����ɃR�}���h���C������e�X�g�̎��s���w���ł��܂��B���̂悤�Ȍ`�Ԃ���邱�Ƃɂ��A���‹��ɋ߂��`�ŕ�����Web�u���E�U��ΏۂƂ���TDD�̃X�^�C���ł̊J�����T�|�[�g���Ă��܂��B

js-test-driver�̓���C���[�W�i�����T�C�g�����p�j

�@�Ƃ������ƂŁA�����js-test-driver���e�[�}�ɁA��{�I�Ȏg��������O��E�O�X��Љ���e�X�g�t���[�����[�N�Ƃ̘A�g�Ƃ������Ƃ���܂ŋ�̓I�ɏЉ�Ă����܂��B

�@�Ȃ��A����̓R�}���h���C������̃e�X�g���s�����S�̂��߉�����܂��񂪁Ajs-test-driver�ɂ́AEclipse�p�̃v���O�C����IntelliJ�p�̃v���O�C���AMaven�Ƃ̘A�g���”\�ȃv���O�C���ȂǑ����̃v���O�C�������J����A�J�����T�|�[�g���Ă���Ă��܂��B

js-test-driver��4�X�e�b�v�ŃZ�b�g�A�b�v

�@js-test-driver�̌����y�[�W�ɂ�������1�‚Ƃ��ď�����Ă��܂����Ajs-test-driver�̓Z�b�g�A�b�v���ƂĂ��ȒP�ł��B�Z�b�g�A�b�v�̎菇�Ƃ��ẮA�ȉ���4�X�e�b�v�ł��B

  1. jar�t�@�C���̃_�E�����[�h
  2. src�t�H���_��src-test�t�H���_�̍쐬
  3. �ݒ�t�@�C���̍쐬
  4. �v���_�N�V�����R�[�h�ƃe�X�g�R�[�h�̍쐬

�y1�zjar�t�@�C���̃_�E�����[�h

�@js-test-driver��jar�t�@�C���𗘗p���āA�T�[�o�̋N���AWeb�u���E�U�̃L���v�`���A�e�X�g�̎��s�Ȃǂ��s���܂��B

�@jar�t�@�C���́Ajs-test-driver�̃_�E�����[�h�̃y�[�W�ɒu����Ă���̂ŁA��������ŐV�̂��̂��擾���܂��B����́AJsTestDriver-1.3.5.jar���_�E�����[�h���A���p���Ă��܂��B

�y2�z�\�[�X�t�H���_�ƃe�X�g�t�H���_�̍쐬

�@���̍�Ƃ͕K�{�ł͂Ȃ��̂ł����A���ʂ���ǂ����邽�߃v���_�N�V�����R�[�h������t�H���_�ƃe�X�g�R�[�h������t�H���_���쐬���Ă����܂��B�usrc�v�usrc-test�v�Ƃ����t�H���_���ō쐬���܂��B�usrc�v�t�H���_�Ƀv���_�N�V�����R�[�h���A�usrc-test�v�t�H���_�Ƀe�X�g�R�[�h���A���ꂼ��i�[���܂��B

�y3�z�ݒ�t�@�C���̍쐬

�@js-test-driver�̐ݒ�t�@�C����YAML�`���ŋL�q���܂��B�f�t�H���g�œǂݍ��܂��t�@�C�����́ujsTestDriver.conf�v�ƂȂ��Ă���̂ŁA����͂��̖��O�ō쐬���܂��B���̖��O�ł��쐬���邱�Ƃ͉”\�ł����A�T�[�o�N�����Ɂu--config�v�I�v�V������t���Đݒ�t�@�C�����w�肷��K�v������܂��B�쐬����ꏊ�́usrc�v�usrc-test�v�Ɠ���̊K�w�ɂ��܂��B

�@jsTestDriver.conf�̋�̓I�ȓ��e�͈ȉ��̒ʂ�ł��B

server: http://localhost:9876
load:
 - src/*.js
test:
 - src-test/*.js
jsTestDriver.conf
  • server�F�f�t�H���g�̃T�[�oURL���w��B���[�J�������ł͂Ȃ��A�����[�g�ɂ���T�[�o��URL���w�肷�邱�Ƃ��”\
  • load�F�e�X�g���s�O�ɓǂݍ��ރt�@�C�����w��B�����ł́A�v���_�N�V�����R�[�h��������Ă���t�@�C�����w��B�v���_�N�V�����R�[�h�����ł͂Ȃ��A���̑��O���X�N���v�g��ǂݍ��܂��邱�Ƃ��”\
  • test�F�e�X�g�R�[�h�������ꂽ�t�@�C�����w��

�@����͏�L�̍��ڂ����w�肵�܂��B���ɂ��w��ł��鍀�ڂ�����̂ł����ڍׂ́A���������Q�Ƃ��Ă��������B

�y4�z�e�X�g�R�[�h����уv���_�N�V�����R�[�h�̍쐬

�@�e�X�g�R�[�h�ƃv���_�N�V�����R�[�h�ɂ‚��ẮAGettingStarted�K�C�h���Q�l�ɁA�ȉ��̂悤�ȃR�[�h��p�ӂ��܂��B�܂��̓e�X�g�R�[�h�������Ă����܂��B

GreeterTest = TestCase("GreeterTest");
  
GreeterTest.prototype.testGreet = function() {
    var greeter = new myapp.Greeter();
    assertEquals("Hello World!", greeter.greet("World"));
};
src-test/greetertest.js

�@�����ł́Agreet(name)�֐����Ă񂾂Ƃ��ɁA�uHello {:name} !�v�ƕԂ��v���_�N�V�����R�[�h�ƁA����ɑ΂���e�X�g�R�[�h���쐬���܂��i�t�@�C�����́A���ꂼ��greeter.js�Agreetertest.js�j�Bjs-test-driver�̃e�X�g�R�[�h�́A�uJUnit�v�ɂ悭���Ă���̂ŁAJUnit�𗘗p���ꂽ���Ƃ�������́A��r�I�g���₷���Ǝv���܂��B

�@js-test-driver�ł́A���s�������e�X�g��TestCase�́uprototype�v�v���p�e�B�ɑ�����A������e�X�g�X�C�[�g�Ƃ���`��������Ă��܂��B

�@��L�̃e�X�g�R�[�h�ł�greeter.greet(name)�̌��ʂ��uHello World!�v�ƂȂ��Ăق����̂ŁAAssertion��assertEquals�𗘗p���Č��؂��Ă��܂��B

�@���̑���Asserts�Ɋւ��ẮA�uAssertions - js-test-driver - Documentation for the default assertions in JsTestDriver. - Remote javascript console - Google Project Hosting�v��uAsserts.js - js-test-driver - Remote javascript console - Google Project Hosting�v���Q�Ƃ��Ă��������B���̗�ł͎g���Ă��܂��񂪁AsetUp()��tearDown() ��������񗘗p�ł��܂��B

GreeterTest.prototype.setUp = function(){};
GreeterTest.prototype.tearDown = function(){};

�@�e�X�g�R�[�h���������̂ŁA�v���_�N�V�����R�[�h����greet(name)�֐����������Ă����܂��B�킴�Ǝ��s����悤�Ɂi�uHello {:name} !�v�ł͂Ȃ��A�uWelcome! {:name} !�v�Əo�͂�����j�ȉ��̂悤�ɋL�q���܂��B

myapp = {};
myapp.Greeter = function() { };
myapp.Greeter.prototype.greet = function(name) {
   return "Welcome! " + name + "!";
};
src/greeter.js

�@����ŁA�v���_�N�V�����R�[�h�ƃe�X�g�R�[�h�͏����ł��܂����B

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

Copyright © ITmedia, Inc. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B