�@

�A�ځFASP.NET MVC����y�o�[�W����3�Ή��z

�ŏI��@�e�X�g�������ŃA�v���P�[�V�����̕i������

�R�c �ˊ��ihttp://www.wings.msn.to/�j
2011/11/24
Page1 Page2 Page3 Page4

�@�A�v���P�[�V������Model�|View�|Controller�Ɩ��m�ɕ������邱�Ƃɂ́A�P�̃e�X�g�i�����j�b�g�E�e�X�g�j���s���₷������Ƃ����ړI������B

�@�Ⴆ��Web�t�H�[���ł́A���ׂĂ̋@�\���y�[�W�ɏW�񂳂��̂ŁA�P�̃e�X�g�����{����ɂ̓y�[�W���C���X�^���X�����邽�߂�Web�T�[�o����������K�v���������B������ASP.NET MVC�ł́A�Ⴆ��Controller��\���R���g���[���E�N���X���APOCO�iPlain Old CLR Object�j�ł���̂ŁA�C���X�^���X�����e�Ղ��B�e�X�g���{�ɓ������ăT�[�o�̏����͕K�v�Ȃ��B����́AASP.NET MVC�̑傫�ȓ�����1�‚��B

�@�A�ڍŏI��ƂȂ鍡��́A����܂ō쐬�����T���v����O��ɁAASP.NET MVC�A�v���P�[�V�������e�X�g������@�ɂ‚��āA�ȉ��̓��e�����ɉ������B

  • Visual Studio�ŒP�̃e�X�g�������^���s������@
  • ���b�N��`�̂��߂�Moq���C�u�����̗p�@
  • �f�[�^�E�A�N�Z�X�̃R�[�h���W�񂷂郊�|�W�g���E�N���X�̋L�q

�@����ł͂��������A�n�߂悤�B

�P�̃e�X�g�̊�{�𗝉�����

�@�e�X�g�E�v���W�F�N�g���쐬����ɂ́A�uASP.NET MVC 3 Web �A�v���P�[�V�����v�v���W�F�N�g���쐬����ۂɁm�V����ASP.NET MVC 3�v���W�F�N�g�n�_�C�A���O�ŁA�m�P�̃e�X�g �v���W�F�N�g���쐬����n���`�F�b�N���邾�����B�v���W�F�N�g���́A�f�t�H���g�ŁA�u�����̃v���W�F�N�g����.Tests�v�A�g�p����e�X�g�E�t���[�����[�N��Visual Studio�W���́uVisual Studio Unit Test�v�ƂȂ�B�ʂɃC���X�g�[�����邱�ƂŁANUnit�̂悤�ȃe�X�g�E�t���[�����[�N�𗘗p���邱�Ƃ��”\���B

�@�Ȃ��A�e�X�g�@�\�́AVisual Web Developer Express Edition�i�ȍ~�AVWD�j�ł͕W�����ڂ���Ă��Ȃ��̂ŁA�e�X�g�E�v���W�F�N�g��VWD�ł͍쐬�ł��Ȃ��B


�}1�@�m�V����ASP.NET MVC 3�v���W�F�N�g�n�_�C�A���O
�m�P�̃e�X�g �v���W�F�N�g���쐬����n���`�F�b�N���邾���Ńe�X�g�p�̃v���W�F�N�g���쐬�ł���B

�@�ȉ��ł́A�܂��u��{�I�ȒP�̃e�X�g�̎菇���m�F����v�Ƃ����Ӗ��ŁA��1���ō쐬����Hello#Index�A�N�V�������e�X�g���Ă݂悤�B

�m1�n�e�X�g�E�N���X��lj�����

�@�e�X�g�E�N���X��lj�����ɂ́A�\�����[�V�����E�G�N�X�v���[������e�X�g�E�v���W�F�N�g��Controllers�t�H���_���E�N���b�N���A�R���e�L�X�g�E���j���[����m�lj��n�|�m�V�����e�X�g�n��I������΂悢�B�m�V�����e�X�g�̒lj��n�_�C�A���O���\�������̂ŁA�ȉ��̐}�̗v�̂Ńe�X�g�E�N���X���쐬���悤�B


�}2�@�m�V�����e�X�g�̒lj��n�_�C�A���O

�m2�n�e�X�g�E���\�b�h���쐬����

�@�mOK�n�{�^�����N���b�N����ƁA�e�X�g�E�N���X�̍��g�݂��������������̂ŁA�ȉ��̂悤�Ƀe�X�g�E���\�b�h��lj�����B

using Microsoft.VisualStudio.TestTools.UnitTesting;
using MvcTemplate.Controllers;
using System.Web.Mvc;

�c�c�����c�c

[TestMethod]
public void Index()
{
  // Hello#Index�A�N�V���������s
  var con = new HelloController();
  var result = con.Index() as ViewResult;

  // Assert�N���X�Ō��ʂ�����
  Assert.AreEqual("����ɂ��́A���E�I", result.ViewBag.Message);
  Assert.AreEqual("", result.ViewName);
}
Imports MvcTemplateVb.MvcTemplateVb
Imports System.Web.Mvc

�c�c�����c�c

<TestMethod()>
Public Sub Index()

  ' Hello#Index�A�N�V���������s
  Dim con = New HelloController()
  Dim result = DirectCast(con.Index(), ViewResult)

  ' Assert�N���X�Ō��ʂ�����
  Assert.AreEqual("����ɂ��́A���E�I", result.ViewBag.Message)
  Assert.AreEqual("", result.ViewName)
End Sub
���X�g1�@Hello#Index�A�N�V�������e�X�g���邽�߂̃R�[�h�i��FHelloControllerTest.cs�A���FHelloControllerTest.vb�j

�@�e�X�g�E���\�b�h�ł��邱�Ƃ�\���ɂ́A���\�b�h�錾��TestMethod�����iMicrosoft.VisualStudio.TestTools.UnitTesting���O��ԁj��t�^���邾���ł悢�i�����j�B

�@�e�X�g�E���\�b�h�̒��ł́AHello�R���g���[���̃C���X�^���X�𐶐����A�A�N�V�����E���\�b�h�����s���Ă���i �j�B�A�N�V�����E���\�b�h�̖߂�l��ActionResult�I�u�W�F�N�g�ł���̂ŁA���ʂ�K�؂Ȍ^�ɃL���X�g����̂�Y��Ȃ����ƁB

�@��́AAssert�N���X�ŃA�N�V�����ɂ�蓾��ꂽ���ʂ��m�F���邾�����i �j�BAssert�N���X�́A�e�X�g�œ���ꂽ���ʂ̐��ۂ��`�F�b�N���邽�߂̃N���X�ŁA�Ⴆ��AreEqual���\�b�h�𗘗p���邱�ƂŁA��2�����i���ےl�j����1�����i���Ғl�j�Ɠ��������ǂ����𔻒�ł���B�T���v���̃`�F�b�N���e�́A�ȉ��̂Ƃ���ł���B

  • �r���[�ϐ�Message���u����ɂ��́A���E�I�v�ɓ�������
  • �r���[���iresult.ViewName�j����ł��邩

�@�r���[����Index�ł͂Ȃ��A�󕶎���ł���_�ɒ��ӂ��Ăق����B�r���[�����w�肳��Ȃ��ꍇ�A�A�N�V�����Ɠ����̃r���[���Ăяo�����Ƃ����̂́AViewResult�N���X�̓����I�ȋ����ɉ߂����A�r���[���iViewName�v���p�e�B�j���̂��̂͂����܂ŋ�ƂȂ�B

�@���̂ق��AAssert�N���X�Œ񋟂���郁�\�b�h�ɂ‚��ẮA�uMicrosoft.VisualStudio.TestTools.UnitTesting���O����v���Q�Ƃ��ꂽ���B�ł���{�I��Assert�N���X�̂ق��A�������R���N�V�����𔻒肷�邽�߂�StringAssert�^CollectionAssert�N���X�Ȃǂ��p�ӂ���Ă���B

�m3�n�e�X�g�E���\�b�h�����s����

�@�e�X�g�����s����ɂ́A�e�X�g�E���\�b�h�̃u���b�N���ʼnE�N���b�N���A�R���e�L�X�g�E���j���[����m�e�X�g�̎��s�n��I������΂悢�B�e�X�g�ɐ�������ƁA�m�e�X�g���ʁn�E�B���h�E�Ɉȉ��̂悤�Ȍ��ʂ��\�������B


�}3�@�m�e�X�g���ʁn�E�B���h�E�i���������ꍇ�j

�@�����ɁA��قǂ̃e�X�g�E���\�b�h���ȉ��̂悤�ɏ��������Ă݂�ƁA�e�X�g�͎��s����͂����B

Assert.AreEqual("����ɂ��́A���E�I�H", result.ViewBag.Message)
���X�g2�@���s����e�X�g�E�R�[�h

�@�ʂ����āA�e�X�g���Ď��s����ƁA���x�́m�e�X�g���ʁn�E�B���h�E�ɂ̓e�X�g�����s�������Ƃ������Ԃ��A�C�R�����\�������B�Y���̍s���N���b�N����ƁA���C���E�E�B���h�E����e�X�g���s�̗��R���m�F�ł���B


�}4�@�m�e�X�g���ʁn�E�B���h�E�i���s�����ꍇ�j

�@

�@INDEX
�@ ASP.NET MVC����y�o�[�W����3�Ή��z
�@ �ŏI��@�e�X�g�������ŃA�v���P�[�V�����̕i������
  1�D�P�̃e�X�g�̊�{�𗝉�����
�@   2�D���b�N�E���C�u����Moq�̗��p���@
�@   3�D�f�[�^�x�[�X�E�A�N�Z�X�𔺂��e�X�g�i1�j
�@   4�D�f�[�^�x�[�X�E�A�N�Z�X�𔺂��e�X�g�i2�j
�@
�C���f�b�N�X�E�y�[�W�w �@�uASP.NET MVC����y�o�[�W����3�Ή��z�v


Insider.NET �t�H�[���� �V���L��
  • ��2��@�Ȍ��ȃR�[�f�B���O�̂��߂� �i2017/7/26�j
    �@�����_���ŋL�q�ł��郁���o�̑����Athrow���Aout�ϐ��A�^�v���ȂǁAC# 7�ɂ͈ȑO�����R�[�h���Ȍ��ɋL�q�ł���悤�ȋ@�\����������Ă���
  • ��1��@Visual Studio Code�f�o�b�O�̊�b�m�� �i2017/7/21�j
    �@Node.js�v���O�������f�o�b�O���Ȃ���AVisual Studio Code�ɓ�������Ă���f�o�b�O�@�\�̊�{�́u�L�v���}�X�^�[���悤
  • ��1��@���ĂȃR�[�f�B���O�̂��߂� �i2017/7/19�j
    �@C# 7�Œlj����ꂽ�V�@�\�̒�����A�u���l���e�����\���̉��P�v�Ɓu���[�J���֐��v���Љ��B�����͕�����₷���R�[�h���L�q����̂Ɏg����
  • Presentation Translator �i2017/7/18�j
    �@Presentation Translator��PowerPoint�p�̃A�h�C���B�v���[���e�[�V�������̎����̕t����A������ł̎��^�����A�X���C�h�̖|����s����
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

Insider.NET �L�������L���O

�{�� ����