2017-09-16 8 views
0

저는 Visual Studio 2017을 사용하여 Windows 10에서 .Net Core 2 기반 프로젝트를 만들었습니다. 두 개의 클래스 라이브러리 프로젝트가 있는데, 하나는 소스 코드 용이고 다른 프로젝트는 NUnit 용 테스트 케이스입니다. Visual Studio 2017을 사용하여이 프로젝트를 구축했으며 테스트 탐색기를 사용하여 테스트 케이스를 실행할 수있었습니다 (NUnit 어댑터 테스트 프로젝트에 NuGet 패키지를 설치 한 후). 이제 Linux에서 소스 코드를 테스트하고 싶습니다. Linux에서 테스트 케이스를 실행하는 방법을 찾고 있습니다. 나는 리눅스에서 다시 프로젝트를 구축하고 싶지 않다. 누구든지 Linux에서 NUnit 테스트 케이스를 실행하는 방법을 알려 주실 수 있습니까? Linux 컴퓨터에서 생성 된 DLL을 복사 할 수 있습니까?실행하는 방법 .net core 2 windows는 Linux에서 NUnit 테스트 케이스를 컴파일 했습니까?

+0

"dotnet test"명령은 복사 한 DLL에서 작동하지 않는다고 생각합니다. 프로젝트가 필요하다고 생각합니다. 테스트 DLL을 실행하는 자체 실행 테스트 EXE를 만드는 NUnitLite 프로젝트를 추가 할 수 있습니다. –

+0

'dotnet test'는 프로젝트에서만 작동하고'dotnet vstest'는 게시 된 테스트 용 dll 파일에 사용됩니다 –

답변

1

이것은 .NET의 핵심 테스트 프로젝트입니다 가정, 당신은 테스트 프로젝트를 게시하고이 같은 대상 시스템에서 테스트를 실행할 수 있습니다

  • 실행 dotnet publish -o ..\tests 대상에 ..\tests 프로젝트의 내용을 복사 기계.
  • 컴퓨터에서 dotnet vstest yourtestproject.dll을 실행하여 테스트를 실행하십시오.
+0

Thanks Martin, 언급 한 명령이 정상적으로 작동하는 것 같습니다. 나는 한 가지 더 궁금한 점이있다. Windows OS에서 프로젝트를 게시하고 Linux에서 실행해야합니까? 아니면 Linux OS 및 런트 테스트 케이스에서 별도로 빌드해야합니까? – Jaydeep

+0

기술적으로 차이가 나는 것은 아닙니다. 개인적으로 나는 프로젝트가 모든 시스템에 구축되도록하고 싶습니다. 나중에 Windows에서만 실행되는 빌드 단계의 작업 단계 나 Windows의 대소 문자를 구분하지 않는 파일 시스템으로 인해 작업하는 것 같은 놀라움은 없습니다. 하지만 맛이 간다. –

+0

다른 사람들은 dll을 한 번만 빌드하고 어디서나 배치 및 테스트해야 컴파일러를 보호하고 버그를 빌드해야한다고 주장 할 수 있습니다. 그뿐 아니라 유효한 인수입니다 (비록 어떤 컴파일러 버그도 모든 설정에서 고통이 될 것이라고 생각합니다). –