2016-08-22 3 views
1

R # 플러그인을 빌드하고 테스트로 커버하기로 결정했습니다. 그러나 플러그인 대상 버전이 R # 버전과 같으면 R # 러너를 사용하여 플러그인 테스트를 실행할 수 없다는 것을 알았습니다. 이 버전 2016.2.20160818.171542JetBrains.ReSharper.SDK.Tests를 사용하여 테스트를 실행하려고하면R # 테스트 러너를 사용하여 ReSharper 플러그인 테스트 실행

예를 들어, 다음과 같은 오류가 발생합니다 :

ERROR System.TypeLoadException: Method 'RunTests' in type 'JetBrains.ReSharper.UnitTestRunner.nUnit26.BuiltInNUnitRunner' from assembly 'JetBrains.ReSharper.UnitTestRunner.nUnit26, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

이전 버전에서 오류가 달랐다.

아마도 R # 러너와 SDK 어셈블리가 혼합되어 발생합니다.

R # 러너를 사용하여 Plugin Unit 테스트를 실행할 수 있도록 project/R #을 구성 할 수있는 방법이 있습니까? 아마도 R # dev 팀에서는 자체 러너를 사용합니다.

감사합니다.

답변

2

불행히도 이것은 ReSharper 러너의 버그입니다 (201.6.2). 동일한 프로세스에서 동일한 어셈블리의 여러 복사본을 갖는 것과 관련이 있습니다 - 설치의 어셈블리 및 bin 폴더의 어셈블리. 그 길을 따라 뭔가 엉망이 됐어.

당신은 투표에 가입하고이 문제를 추적 할 수 있습니다 RSRP-460399 해결 방법은 비주얼 스튜디오 "실험 예"일명 "사용자 정의 하이브"에 ReSharper에서의 이전 버전을 설치하고 개발이 인스턴스를 사용하는 것입니다

플러그인을 테스트하십시오. 일반 인스턴스는 다른 일상적인 개발에 사용될 수 있습니다.

download an older version of ReSharper here (e.g. 2016.1.2) 수 있으며 설치 프로그램에서 옵션을 클릭하고 사용자 지정 인스턴스의 이름을 입력하십시오. "플러그인". 그런 다음 Visual Studio에 대한 새로운 바로 가기를 만들고 명령 줄을 "devenv.exe/rootSuffix Plugins"(또는 사용자 정의 하이브를 호출 한 곳)으로 설정하십시오.

2

R # 및 SDK는 다른 주요 버전이거나 이진 호환 버전이어야합니다. 불행히도 EAP에서는 테스트 러너 내부의 내부 API가 변경되어 다른 EAP의 R # 및 SDK가 호환되지 않습니다.