본문 바로가기

사이드 프로젝트/SportsStore (ASP.NET MVC5)

[ASP.NET Project] ASP.NET MVC5를 이용한 SportsStore 응용 프로그램 생성하기

ASP.NET MVC5를 사용하여 SportsStore 응용 프로그램을 생성한다.
하나의 솔루션을 만들고, 그 안에 3개의 프로젝트를 추가하여 역할을 나눌 예정이다.
각각의 프로젝트는 다음과 같은 역할을 수행한다.

 

프로젝트 구성


  1. Domain
    데이터 저장 및 불러오기를 담당하는 핵심 역할을 한다.
    Entity Framework를 사용하여 리파지토리를 작성할 계획이다.
  2. WebUI
    사용자 인터페이스(UI)를 구현하며, 컨트롤러와 뷰가 포함된다.
    애플리케이션의 주요 동작을 처리하는 프로젝트다.
  3. UnitTests
    Domain과 WebUI에서 작성한 로직에 대해 단위 테스트를 작성한다.
    Mocking 라이브러리를 사용해 테스트 환경을 구성할 예정이다.

 

 

도구 및 패키지 설치


프로젝트가 제대로 동작하도록 필요한 도구와 패키지를 설치한다.
다음 명령어를 패키지 관리자 콘솔에서 실행하여 설정을 완료한다.

 

1. Ninject 설치

의존성 주입(DI)을 사용하기 위해 Ninject를 추가한다.

Install-Package Ninject -Version 3.0.1.10 -ProjectName SportsStore.WebUI
Install-Package Ninject.Web.Common -Version 3.0.0.7 -ProjectName SportsStore.WebUI
Install-Package Ninject.MVC3 -Version 3.0.0.6 -ProjectName SportsStore.WebUI

Install-Package Ninject -Version 3.0.1.10 -ProjectName SportsStore.UnitTests
Install-Package Ninject.Web.Common -Version 3.0.0.7 -ProjectName SportsStore.UnitTests
Install-Package Ninject.MVC3 -Version 3.0.0.6 -ProjectName SportsStore.UnitTests

 

2. Moq 설치

Mock 객체를 활용한 테스트를 위해 Moq를 설치한다.

Install-Package Moq -Version 4.1.1309.1617 -ProjectName SportsStore.WebUI
Install-Package Moq -Version 4.1.1309.1617 -ProjectName SportsStore.UnitTests

 

3. Microsoft.AspNet.Mvc 설치

MVC5 기능을 사용하기 위해 필요한 패키지를 추가한다.

Install-Package Microsoft.AspNet.Mvc -Version 5.0.0 -ProjectName SportsStore.Domain
Install-Package Microsoft.AspNet.Mvc -Version 5.0.0 -ProjectName SportsStore.UnitTests

 

 

프로젝트 간 참조 설정


프로젝트 간 의존성을 설정해 서로의 기능을 참조할 수 있도록 구성한다.

Domain 참조 추가

  • WebUIUnitTests에서 Domain 프로젝트를 참조한다.
    1. 솔루션 탐색기에서 SportsStore.WebUI를 우클릭 → 참조 추가(Add Reference) 선택.
    2. 프로젝트 탭에서 SportsStore.Domain을 선택 후 확인.
    3. 동일한 방식으로 SportsStore.UnitTests에도 Domain 프로젝트를 추가한다.

WebUI 참조 추가

  • UnitTests 프로젝트에서 WebUI를 참조하도록 설정한다.
    1. 솔루션 탐색기에서 SportsStore.UnitTests를 우클릭 → 참조 추가(Add Reference) 선택.
    2. 프로젝트 탭에서 SportsStore.WebUI를 선택 후 확인.