2016-10-18 17 views
2

와 FsCheck를 실행하는 방법 : 나는 Mark Seemann's talk을 따르도록 노력하고안녕하세요 <code>xunit.runner.console</code>와 <code>FsCheck.Xunit</code> 테스트를 실행하려고하고 다음과 같은 예외를 얻고있다 xUnit의

Kata.TennisProperties.Given advantaged player when advantaged player wins score is correct [FAIL] 
    System.Reflection.TargetInvocationException : Exception has been thrown by the target of an invocation. 
    ---- System.Exception : The type Kata.Tennis+Player is not handled automatically by FsCheck. Consider using another type or writing and registering a generator for it. 
    Stack Trace: 
     at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) 
     at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) 
     at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 

. 제 설정은 다음과 같습니다 :

두 개의 파일이있는 단일 라이브러리 유형 프로젝트가 있습니다. 하나는 테스트 할 코드와 하나는 테스트 코드와 함께 사용합니다. 프로젝트는 잘 컴파일됩니다. 나는 VS IDE를 사용하지 않고 F # 용 Ionide 플러그인을 사용하는 VSCode 텍스트 편집기 만 사용합니다.

FSharp.Core의 버전 지정이 있거나없는 FSharp.Core Nuget 설치 여부에 관계없이 다양한 설정을 시도했습니다.

어디서 더 살펴볼 필요가 있습니까? 나는 아이디어가 부족하고 좌절하고 있습니다. 나는 이미 이틀을 보냈다. :)

답변

4

app.config 파일을 추가하여이 문제를 해결했습니다.

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <Paket>True</Paket> 
     <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" /> 
    </dependentAssembly> 
    </assemblyBinding> 
</runtime> 
</configuration> 

내가 전에하지만 VSCode + Ionide이 설정 파일이 프로젝트에 추가 도착하지 않았다하여 이런 짓을. 매우 중요하므로 프로젝트에도 app.config 파일을 추가하는 것을 잊지 마십시오. 프로젝트 폴더에 파일을 만드는 것만으로는 충분하지 않습니다.

+0

어디서 볼 수있는 곳이 있습니까? –

+0

나는이 기사 [tennis kata] (http://blog.ploeh.dk/2016/02/10/types-properties-software-designing-with-types/)를 한 점까지 다뤘다. 나는 당신의 요청에 따라 gh로 올라갔습니다. 링크는 다음과 같습니다. https://github.com/adicirstei/tennis-kata-tut – Adrian