ASP.NET Core 에서 xUnit 을 사용 하여 유닛 테스트 를 진행 합 니 다.
유닛 테스트 의 중요성 은 더 말 할 필요 도 없다.유닛 테스트 를 하 는 프로젝트 는 개발 자 에 게 보험 을 사 주 는 것 과 같다.물론 이 보험 의 품질 은 유닛 테스트 의 품질 에 달 려 있다.같은 Mock 의 유닛 테스트 는 아름 다 워 보이 지만 아무것도 커버 할 수 없다.현재 업무 중의 오래된 프로젝트 는 2 만 여 개의 단원 테스트 사례 가 있 는데 그 중에서 많은 것 이 심혈 을 기울 인 작품 이 고 업무 논 리 를 진정 으로 실현 했다.개발 자 들 은 안심 하고 코드 를 수정 할 수 있다.물론 모든 것 은 TDD 의 원칙 에 따라 진행 해 야 한다.구체 적 으로 는 상세 하 게 말 하지 않 는 다.
그 다음 에 본론 으로 들 어가 면 유닛 테스트 라 는 중요 한 기초 기능 은.NET Core 에서 없어 서 는 안 된다.관련 API 와 구성 요소 가 제공 하 는 기능 은 이전 버 전과 큰 차이 가 없다.주로.NET Core 에 대한 지원 이 필요 하 다.다시 말 하면 예전 에.NET Framework 플랫폼 에서 의 코드 는.NET Core 를 지원 하 는 코드 를 다시 생 성 해 야 한 다 는 것 이다.예 를 들 어 본 고 에서 말 하고 자 하 는 xUnit,xUnit 은.NET Core 에 대한 지원 버 전 을 제 공 했 습 니 다.다음은 ASP.NET Core 에서 xUnit 을 사용 하여 유닛 테스트 를 하 는 방법 을 살 펴 보 겠 습 니 다.
xUnit.Net 소개
xUnit.net 의 창조 자 는 Jim Newkirk 와 Brad Wilson 이 NUnit 와 다른 단원 테스트 프레임 워 크 를 포함 한 사용 경험 에서 정리 한 새로운 프레임 워 크 입 니 다.NUnit 에 비해 xUnit.net 은 다음 과 같은 특징 이 있 습 니 다.
다운로드 한 xUnit.net 압축 파일 에 GUI 를 지원 하 는 exe 파일 이 4 개 있 습 니 다.각각:
1.UseXunit 라 는 빈 ASP.NET Core 웹 프로젝트 를 만 듭 니 다.
2.그리고 procject.json 의 내용 을 다음 과 같이 수정 하고 dependencies 의 마지막 줄 에 MVC 구성 요소 에 대한 의존 도 를 추가 합 니 다.
"Microsoft.AspNetCore.Mvc": "1.0.1"
3.Startup.cs 파일 수정
Configure Services 방법 에 services.AddMvc()를 추가 합 니 다.
Configure 방법 에 app.UseMvc With DefaultRoute()를 추가 합 니 다.
3.프로젝트 루트 디 렉 터 리 에 Controllers 디 렉 터 리 를 새로 만 들 고 HomeController 를 추가 합 니 다.코드 는 다음 과 같 습 니 다.
public class HomeController : Controller
{
public IActionResult Index()
{
return Content("Hello test");
}
}
4.이 쯤 되면 프로젝트 가 달 릴 수 있 을 것 같 습 니 다.실행 후 출력 Hello test 를 볼 수 있 습 니 다.간단 한 프로젝트 가 갖 춰 졌 음 을 설명 합 니 다.유닛 테스트 항목 추가
다음은 단원 테스트 항목 에 가입 하여 하나의 테스트 항목 을 독립 하여 관리 하기에 편리 하 다.
1.솔 루 션 파일 을 오른쪽 클릭 하고 새 솔 루 션 폴 더 를 선택 한 다음 test 라 고 명명 합 니 다.
2.test 디 렉 터 리 에.NET Core 프로젝트 를 새로 만 듭 니 다.여기 서 선택 한 항목 유형 은 Class Library(.NET Core)이 고 이름 은 UseXunt.Tests 입 니 다.
3.그리고 Tests 프로젝트 의 procject.json 내용 을 다음 과 같이 수정 합 니 다.
{
"version": "1.0.0-*",
"testRunner": "xunit",
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"xunit": "2.1.0",
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"UseXunit": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.1"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [ "dotnet5.6", "portable-net45+win8" ]
}
}
}
이 변경 사항 은 시스템 의 기본 생 성 설정 을 거의 다시 썼 습 니 다.시스템 의 기본 설정 은 거의 달 릴 수 없습니다.다시 설정 해 야 합 니 다.dependencies 는 xunit 와 dotnet-test-xunit 의 운영 지원 패 키 지 를 도 입 했 습 니 다.물론 테스트 항목 에 대한 의존 도(UseXunit)를 가 입 했 습 니 다.
또 다른 관건 적 인 설정 은 testrunner 를 xunit 로 지정 한 것 입 니 다.
저장 하면 자동 으로 관련 패 키 지 를 복원 합 니 다.
4.지금부터 TestCase 를 만 들 수 있 습 니 다.
홈 컨트롤 러 Test 클래스 를 새로 만 듭 니 다.내용 은 다음 과 같 습 니 다.
public class HomeControllerTest
{
[Fact]
public void ShouldGetIndexResult()
{
var homeController = new HomeController();
var contentResult = homeController.Index() as ContentResult;
Assert.NotNull(contentResult);
Assert.Equal("Hello test", contentResult.Content);
}
}
여기에 기본 적 인 테스트 용례 를 만 들 고 익숙 한 단축 키 Ctrl+U+R(Reshaper)을 사용 하면 test 를 즐겁게 실행 할 수 있 습 니 다.전체 코드 참조https://github.com/shenba2014/AspDotNetCoreMvcExamples/tree/master/UseXunit
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
.Net Core Excel 템플릿 읽기 Excel 파일 내보내기텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.