Asp.Net Core 파일 감 시 를 이용 하여 빠 른 테스트 개발 상세 설명
Asp.Net Core 응용 프로그램 개발 을 진행 하 는 과정 에서 일반적인 방법 은 먼저 업무 코드 개발 을 완성 한 다음 에 단원 테스트 를 구축 하고 마지막 으로 로 컬 시스템 통합 테스트 에 들 어 가 는 것 이다.이 과정 에서 프로그래머 의 대부분 시간 은 개발,운영,디 버 깅 에 쓰 였 고 이 과정 을 반복 했다.저 는 이 과정 을'프로그래머 개발 나선형'이 라 고 부 릅 니 다.그리고 이 단계 에서 중 복 률 이 가장 높 고 창조력 이 없 는 작업 은 바로 작 동,테스트 입 니 다.프로그래머 로 서 생산력 을 향상 시 키 는 것 이 우리 가 추구 하 는 목표 입 니 다.우리 의 일 은 가능 한 한 중복 노동 을 없 애고 생산력 을 해방 시 켜 생산 효율 을 높이 는 것 이다.
파일 감 시 를 통 해 빠 른 개발 을 하 는 방법 을 간단 한 예 로 보 여 준다.
이 예제 에 서 는 두 항목 을 데모 로 사용 할 것 입 니 다.다음 그림 입 니 다.
1.비 즈 니스 프로젝트 UserCenter 데모 구축
1.1 User Center Demo.HomeController 에서 간단 한 업무 방법 을 작성 합 니 다.
[Route("api/[controller]")]
[ApiController]
public class HomeController : ControllerBase
{
[HttpGet("{id}")]
public IActionResult Get(int id)
{
int code = 0;
string userName = string.Empty;
switch (id)
이 업무 방법 은 매우 간단 합 니 다.들 어 오 는 id 값 에 따라 만 판단 하고 100 이 아니면 code=403 으로 돌아 갑 니 다.2.xUnit 유닛 테스트 프로젝트 UserCenter DemoTest 구축
2.1 프로젝트 UserCenter 데모 참조 및 NuGet 패키지 참조
Microsoft.AspNetCore.App
Microsoft.AspNetCore.TestHost
User Center Demo 는 호스트 통합 테스트 방식 을 사 용 했 습 니 다.호스트 통합 테스트 에 대해 학생 들 을 모 르 면 제 지난 블 로 그 를 볼 수 있 습 니 다Asp.Net Core 쉽게 배 울 수 있 습 니 다.-xUnit 을 이용 하여 호스트 급 네트워크 통합 테스트 를 진행 합 니 다.2.2 테스트 용례 작성 UserCenter DemoTest.HomeController Test.cs
public class HomeControllerTest
{
public static TestServer serverHost;
public static HttpClient client;
public HomeControllerTest()
{
if (serverHost == null)
{
serverHost = new TestServer(new WebHostBuilder().UseStartup<UserCenterDemo.Startup>());
client = serverHost.CreateClient();
이 테스트 는 id=100 의 사용자 와 id=0 의 게 스 트 사용 자 를 가 져 오 는 두 가지 테스트 방법 을 포함한다.3.dotnet watch 로 감시 테스트 진행
기 존의 개발 습관 에 따 르 면 우리 가 지금 해 야 할 일 은 두 가지 가 있 을 수 있 습 니 다.하 나 는 프로젝트 를 시작 하여 브 라 우 저 를 사용 하여 업무 인터페이스 Get 에 접근 하 는 것 입 니 다.다른 하 나 는 운영 부 테스트 입 니 다.어쨌든 이 두 동작 은 우리 의 많은 시간 을 소모 할 것 입 니 다.
이제 새로운 선택 이 있 습 니 다.dotnet watch test 를 사용 하여 프로젝트 파일 의 변동 을 감시 하고 유닛 테스트 를 자동 으로 실행 하 며 테스트 결 과 를 콘 솔 에 출력 할 수 있 습 니 다.
3.1 cmd.exe 프로그램 을 열 고 테스트 항목 디 렉 터 리 로 전환 합 니 다.UserCenter DemoTest,dotnet watch test 를 입력 하고 실행 을 기다 리 십시오.
위의 그림 은 우리 가 명령 dotnet watch test 를 입력 한 후 감시 프로그램 이 시작 되 고 있 으 며,시작 이 끝 난 후 바로 유닛 테스트 를 실 행 했 습 니 다.빨간색 사각형 부분 은 2 개의 테스트 사례 가 통과 되 었 음 을 나타 내 고 프로그램 이 종료 되 지 않 고 마지막 으로 힌트 를 출력 하여 dotnet 프로그램 을 다시 시작 하기 위해 파일 변동 을 기다 리 고 있 습 니 다.
3.2 다음은 테스트 용례 GetGuestTest 의 단언 결과 code=0 을 수정 하여 무슨 일이 일 어 났 는 지 봅 시다.
파일 저장 이 완료 되 는 순간 프로그램 이 생 성 을 즉시 재 개 한 후 테스트 를 수행 하 는 것 을 볼 수 있 습 니 다.테스트 결 과 는 통과 되 지 않 았 다 고 단언 합 니 다.
그럼 문제 가 생 겼 습 니 다.위 에 서 는 테스트 항목 만 감 시 했 습 니 다.만약 에 저희 가 User Center Demo.Controllers 를 수정 하면 자동 으로 감 시 를 할 수 있 습 니까?답 은 긍정 적 입 니 다.
3.3 현재 UserCenter Demo.Controllers 를 수정 하고 게 스 트 코드=0 을 가 져 오 는 데 성공 하 였 습 니 다.
[Route("api/[controller]")]
[ApiController]
public class HomeController : ControllerBase
{
[HttpGet("{id}")]
public IActionResult Get(int id)
{
int code = 0;
string userName = string.Empty;
switch (id)
출력 결과,자동 감시 실행왜 그 럴 까요?저희 테스트 항목 이 업무 항목 User Center Demo 를 인 용 했 기 때 문 입 니 다.
따라서 User Center DemoTest.csproj 파일 을 볼 수 있 습 니 다.다음 코드 를 사용 합 니 다.
<ItemGroup>
<ProjectReference Include="..\UserCenterDemo\UserCenterDemo.csproj" />
</ItemGroup>
5.확장 사용5.1 여러 가지 정 보 를 계속 출력 하 는 것 이 불 친절 하 다 고 생각한다 면 감 시 를 배제 할 수 있 습 니 다.예 를 들 어 User Center Demo.csproj 에 대한 감 시 를 제거 하고 Watch="false"설정 만 추가 하면 됩 니 다.
<ItemGroup>
<ProjectReference Include="..\UserCenterDemo\UserCenterDemo.csproj" Watch="false"/>
</ItemGroup>
5.2 독립 감시프로젝트 가 비교적 클 때 우 리 는 감시 항목 을 관리 해 야 할 수도 있 습 니 다.이 럴 때 모든 항목 에 대해 감시 설정 을 하면 매우 번 거 로 워 집 니 다.그리고 우 리 는 단독 폴 더 를 만 들 고 watch.csproj 파일 을 만 들 수 있 습 니 다.아래 의 내용 을 작성 할 수 있 습 니 다.
<Project>
<ItemGroup>
<TestProjects Include="..\**\*.csproj" />
<Watch Include="..\**\*.cs" />
</ItemGroup>
<Target Name="WatchManage">
<MSBuild Targets="VSTest" Projects="@(TestProjects)" />
</Target>
5.3 경 로 를 주의 하 십시오.이 예제 의 디 렉 터 리 구조 가 이 렇 기 때 문 입 니 다.그래서 파일 에 있 는 감시 노드 에 가입 해 야 합 니 다. 이전 단계 로 되 돌아 갑 니 다.위의 코드 는 이전 디 렉 터 리 의.csproj/.cs 파일 변동 을 감시 하고 이번 감시 관리 이름 을 WatchManage 라 고 합 니 다.
5.4 현재 디 렉 터 리 watch 입력 명령 dotnet watch msbuild/t:WatchManager
두 항목 에 대한 변동 감시 에 성공 한 것 으로 보인다.
4.567917.본 사례 를 통 해 우 리 는 프로젝트 개발 과정 에서 중복 노동 을 줄 이 고 생산력 을 향상 시 키 는 방법 을 알 게 되 었 다.
dotnet watch test 의 사용 방법 을 배 웠 습 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Tailwind를 ASP.NET Core 프로젝트에 통합우리는 을 사용합니다. 에서 코드를 찾을 수 있습니다. 면도기 페이지 구조를 추가합니다. "node_modules"가 설치되었습니다. "tailwind.config.js"파일이 생성되었습니다. 모든 .razor 및 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.