Rails�e�X�g�t���[�����[�NRSpec�̃C���X�g�[���Ɗ�{�I�Ȏg�����A��b���@�F�J������ł����Ǝg����Rails 4����i9�j�i1/3 �y�[�W�j

�G���^�[�v���C�Y�̈�ł̗̍p�������Ă���Ruby on Rails���g����Web�A�v���P�[�V��������邽�߂̓���A�ځB�ŐV�ł�4�ɑΉ����Ă��܂��B����́ARails�ŐU�镑���쓮�J�����s�����߂̃c�[���Ƃ���RSpec�����グ�A�‹��\�z���@��A�X�y�b�N�A�T���v���iexample�j�A�t�b�N�A�G�N�X�y�N�e�[�V�����A�}�b�`���[�Ȃǂ̊�{�I�ȏ�������������܂��B

» 2014�N09��30�� 18��00�� ���J
[���F�ьc�A�ďC�F�R�����i�C������ЃA�W���C���E�F�A]

�A�v���P�[�V�����́u�U�镑���v���`���悤

����̎�ȓ��e


uJłƎgRails 4ṽCfbNX

�A�ږڎ�

�@�O��́uRails�̃e���v���[�g�G���W��Slim�̏�������ActionView�̃w���p�[���\�b�h�A���C�A�E�g�̎g�����v�܂łŁARails�̊�{�I�Ȏg������MVC�ŕ������ĉ�����Ă��܂����B�����Rails�̃e�X�g�ɂ‚��ĉ�����܂��B

�@����@�\�����ɂ͂��낢��ȍ���������܂����A���Z��������₷���R�[�h�ɕς����Ƃ��A�A�v���P�[�V�����́u�U�镑���v�܂ŕς���Ă��܂��Ɩ�肠��ł��ˁB�����Ȃ�Ȃ����߂ɃA�v���P�[�V�����̐U�镑�������炩���ߒ�`���Ă����܂��B�����ăR�[�h��ς��邽�ђ�`�ʂ�ɓ����Ă��邩�`�F�b�N����΁A�o�O��s������点�����ł��B

�@Rails�ɂ́A���̂��߂̃c�[�������葽���̊J������Ńe�X�e�B���O�t���[�����[�N�Ƃ��Ďg���Ă��܂��B�܂��̓c�[�����g����悤�ɂ���Ƃ��납��Љ�܂��傤�B

���ҏW����

�{�A�ڂ�Ruby on Rails 4�̓���A�ڂł��BRuby�ɂ‚��Ċw�т������͘A�ځu���G���W�j�A�^���S�҂̂��߂�Ruby 2.1�����v���������������B


�W���uMiniTest�v�ƃf�t�@�N�g�X�^���_�[�h�uRSpec�v

�@Rails�ɂ͕W���̃e�X�g�t���[�����[�N�Ƃ��āuMiniTest�v������܂��BMiniTest��Ruby�̕W���Y�t���C�u�����ł�����̂ŁA���łɂȂ��݂̕������邩�Ǝv���܂��BMiniTest�̓A�v���P�[�V�������쐬�����ہA���[�g�f�B���N�g���Ɂutest�v�f�B���N�g�����쐬����Ă���A���̒��Ƀe�X�g��lj����Ă����܂��B

�@����ŁARails�̃e�X�g�t���[�����[�N�Ƃ��ăf�t�@�N�g�X�^���_�[�h�ƂȂ��Ă���̂��uRSpec�v�ł��BRSpec�́uBehaviour-Driven Development�i�ʏ�BDD�A�܂��̓r�w�C�r�A�i�U�镑���j�쓮�J���j�v�ƌĂ΂��\�t�g�E�F�A�J���A�v���[�`�̂��߂̃c�[���ł��B

�@�ubehaviour�v�Ƃ́u�U�镑���v���Ӗ����ABDD�̓v���O�������\������I�u�W�F�N�g�⃁�\�b�h�Ɋ��҂���U�镑�����u�T���v���iexample�j�v�Ƃ��ċL�q���ĊJ����i�߂Ă����܂��B

�@������̃e�X�g�t���[�����[�N�������ƒZ��������܂����A�h�L�������g��ߋ��̎��Y���L�x�Ȃ��ߊJ������ł�RSpec���g�����Ƃ������悤�ł��B�{�A�ڂł������RSpec�ɂ‚��ĉ�����܂��B

RSpec�̃C���X�g�[��

�@�܂��́ARSpec��Rails�A�v���P�[�V�����ɃC���X�g�[�����܂��傤�B

Gemfile�̐ݒ�

�@Gemfile�Ɉȉ��̃R�[�h��lj����܂��BGemfile���́ugroup�v���\�b�h���u���b�N�Œ�`����gem���A�����̊‹��ɂ̂݃C���X�g�[�����܂��B

group :development, :test do
  gem 'rspec-rails', '~> 3.0.0'
end

�C���X�g�[���Ə�����

�@�����āA���̃R�}���h�ŃC���X�g�[���Ə��������s���܂��B�K�v�ɉ����āubundle exec�v��t���Ď��s���Ă��������B

$ bundle install
$ rails g rspec:install

�@����ɂ��udevelopment�v�Ɓutest�v�‹���RSpec���C���X�g�[������܂����B

���������f�B���N�g���ƃt�@�C��

�@�A�v���P�[�V�����̃��[�g�f�B���N�g���ɃR�}���h�̐ݒ�t�@�C���́u.rspec�v�Ɓuspec�v�f�B���N�g���A�uspec�v�f�B���N�g���ȉ��ɐݒ�t�@�C���́uspec_helper.rb�v�Ɓurails_helper.rb�v����������Ă��܂��B

�@�܂��A�ŏ����炠����MiniTest�́utest�v�f�B���N�g���͎g�����Ƃ��Ȃ��̂ō폜�ł��܂��B

�I�v�V����

�@�����ňȉ��Ɏ����u.rspec�v�̑�ʂ̌x�����o���u--warning�v�I�v�V�������ЂƂ܂��폜���Ă����܂��B�u--color�v�I�v�V������RSpec���s���̃��O��F�t�����A�u--require�v�I�v�V������RSpec���s�O�ɓ���̃t�@�C����ǂݍ���ł���܂��B

--color
--warning
--require spec_helper

�f�[�^�x�[�X�̍\�z

�@���Ɂutest�v�‹��̃f�[�^�x�[�X�����L�̃R�}���h�ō\�z���܂��B

$ rake db:test:prepare

�@�����RSpec�Ńe�X�g�����s���鏀���͐����܂����B

RSpec�̊�{�I�Ȏg����

�@�{���ł���΃v���W�F�N�g�̏����ɂ����܂ł̏��������Ă����܂��B�Ȃ����ƌ����ƁA���f����R���g���[���[���urails generate�v�R�}���h�Ő��������ۂɁuspec�v�f�B���N�g���ȉ��Ɂumodels�v��ucontrollers�v�̃f�B���N�g���Ƌ��ɂ����̐U�镑�����L�q����t�@�C���𐶐����Ă���邩��ł��B

�@�����ɁA���̃R�}���h�ŐV�������f�����쐬���Ă݂܂��傤�B

$ rails g model borrowing user:references book:references due_back:date
invoke  active_record
create    db/migrate/xxxxxxxxxxxxxx_create_borrowings.rb
create    app/models/borrowing.rb
invoke    rspec
create      spec/models/borrowing_spec.rb

���f���̐U�镑�����L�q����t�@�C���u�X�y�b�N�ispec�j�v

�@�}�C�O���[�V�����t�@�C���ƃ��f���̃\�[�X�Ƌ��Ɂuspec/models/borrowing_spec.rb�v�Ƃ����ȉ��̃t�@�C������������Ă��܂��B

require 'rails_helper'
 
RSpec.describe Borrowing, :type => :model do
  pending "add some examples to (or delete) #{__FILE__}"
end

�@����́uBorrowing�v���f���̐U�镑�����L�q����t�@�C���ŁA��ʂɁu�X�y�b�N�ispec�j�v�ƌĂ΂�܂��BRSpec�����s����ƁA���̃X�y�b�N����������A�A�v���P�[�V�����̊e�v�f����`����Ă���U�镑���ɏ]�����`�F�b�N����܂��B

RSpec�̎��s

�@�������s�������Ƃ���ł����A�lj������}�C�O���[�V�������utest�v�‹��̃f�[�^�x�[�X�ɔ��f����K�v������܂��B���Ȃ��݂́urake db:migrate�v�R�}���h�Ɏ��̂悤�Ɋ‹����w�肷��I�v�V������t���Ď��s���܂��B

$ rake db:migrate RAILS_ENV=test

�@����ł́A���̃R�}���h��RSpec�����s���Ă݂܂��傤�B����̃R���|�[�l���g�A�t�@�C���������s����ꍇ�͈����Ŏw�肵�܂��B

$ rspec
$ rspec spec/models
$ rspec spec/models/borrowing_spec.rb

���s���ʂ́A�u�T���v���iexample�j�v�̐����u.�v�A���s�uF�v�A�ۗ��u*�v��3��

�@�����_�ł́A���̂悤�Ȏ��s���ʂ��o�͂���Ă���Ǝv���܂��B

*
 
Pending:
  Borrowing add some examples to (or delete) /xxx/xxx/xxx/rails4_application_development_guide_sample/08/book_library/spec/models/borrowing_spec.rb
    # Not yet implemented
    # ./spec/models/borrowing_spec.rb:4
 
Finished in 0.00036 seconds (files took 1.64 seconds to load)
1 example, 0 failures, 1 pending

�@RSpec�ł͒�`����Ă���U�镑���̈�ˆ�‚��u�T���v���iexample�j�v�ƌĂт܂��BRSpec�̏o�͂́A�܂��T���v���������ł���΁u.�v�A���s�ł���΁uF�v�A�ۗ��ł���΁u*�v���o�͂��܂��B���̎��ɁA�e�T���v���̏ڍׂȃ��|�[�g�A�Ō�Ɏ��s���ԂƑS�T���v�����A���s�����T���v�����A�ۗ������T���v�������o�͂��܂��B

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

Copyright © ITmedia, Inc. All Rights Reserved.

'; if( !this.isSubscription ) { 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�[�}

4AI by IT - AIAAA
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