2017-10-06 19 views
0

저는 CI (새로운 설정 지점부터)를 처음 접했습니다. 나는 'NUnit 프로젝트 새로 만들기'를 선택했을 때 제공되는 NUnit의 기본 버전을 사용하여 Rider에서 프로젝트를 만들었으며, 이제는 travis-CI를 사용하여 자동 빌드를 설정하려고합니다..NET 프로젝트 모노 빌드 중에 Nunit 테스트가 실패했습니다.

내 프로젝트 및 테스트 프로젝트 (라이더의 프로젝트 속성에서 확인)의 대상 .NET 프레임 워크 버전은 4.5입니다.

내가 사용하는 Nunit의 버전은 Rider 3.5와 함께 제공되는 기본 버전입니다. 여기

내 .travis.yml 빌드 파일입니다

language: csharp 
solution: .sln 
install: 
    - nuget restore FindWordsWithConcatenations.sln 
    - nuget install NUnit.Runners -Version 3.5.0 -OutputDirectory testrunner 
script: 
    - xbuild /p:Configuration=Debug ./FindWordsWithConcatenations.sln 
    - mono ./testrunner/NUnit.ConsoleRunner.3.5.0/tools/nunit-agent.exe ./TestFindWordsWithConcatenations/bin/Debug/TestFindWordsWithConcatenations.dll 
내가 통해합니다 (NUNIT 에이전트를 실행할 때 테스트 러너 경로가 정확해야한다는 nuget 명령을 실행하여 내 자신의 컴퓨터에서 확인

에이전트, 에이전트 86, 또는 에이전트 콘솔) 나 로컬 (다음과 같은 오류가 발생하고 서버) :

Unhandled Exception: System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). 
    at System.Guid..ctor(String g) 
    at NUnit.Agent.NUnitTestAgent.Main(String[] args) 

가 나는 또한 지정되지 구성 모드로 실행 해봤 및 디버그 구성 모드 및 릴리스 지정.

유감스럽게도 Google 검색/스택 오버플로의 일반적인 전략은 도움이되지 않았습니다. 몇 가지 질문에서이 오류를 보았지만 그 원인은 내가 경험 한 것과 관련이없는 것 같습니다.

The last build of the pipeline is available to view here 모든 빌드가 실패했습니다. 이전 빌드는 here입니다.

미리 감사드립니다. 누군가이 문제의 원인에 대해 어떤 생각을 갖고 있거나 다른 방법으로 테스트를 수행 할 수 있다면 어떻게 생각하십니까?

답변

0

해결되었습니다.

에 트래비스 설정의 스크립트 섹션 업데이트 :

script: 
    - xbuild /p:Configuration=Debug ./FindWordsWithConcatenations.sln 
    - mono ./testrunner/NUnit.ConsoleRunner.3.5.0/tools/nunit3-console.exe ./TestFindWordsWithConcatenations/bin/Debug/TestFindWordsWithConcatenations.dll 

그래서 지금 올바른 콘솔 응용 프로그램을 실행합니다. 또한 테스트 경로를 서버에서 실행하기 위해 약간 수정해야했습니다.