2011-01-25 7 views
1

TD.NETでmspec仕様テストを実行しようとすると、この例外が発生しています。MSExecはReSharperで動作しますが、TD.NETは例外をスローします

------ Test started: Assembly: DesignRightWeb.Specs.dll ------ 

Error: Runner failure: System.Runtime.Serialization.SerializationException: Type is not   resolved for member 'Machine.Specifications.Runner.RunOptions,Machine.Specifications,  Version=0.3.0.0, Culture=neutral, PublicKeyToken=null'. 
    at System.AppDomain.CreateInstanceAndUnwrap(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
    at  Machine.Specifications.Runner.Impl.AppDomainRunner.CreateRunnerAndUnloadAppDomain(String  runMethod, AppDomain appDomain, Assembly assembly, Object[] args) in d:\BuildAgent- 01\work\340c36596c29db8\Source\Machine.Specifications\Runner\Impl\AppDomainRunner.cs:line  81 
Test 'T:DesignRightWeb.Specs.given_a_string_calculator' failed: Type is not resolved  for member 'Machine.Specifications.Runner.RunOptions,Machine.Specifications,  Version=0.3.0.0, Culture=neutral, PublicKeyToken=null'. 
    System.Runtime.Serialization.SerializationException: Type is not resolved for member 'Machine.Specifications.Runner.RunOptions,Machine.Specifications, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null'. 
    at System.AppDomain.CreateInstanceAndUnwrap(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes) 
    at Machine.Specifications.Runner.Impl.AppDomainRunner.CreateRunnerAndUnloadAppDomain(String runMethod, AppDomain appDomain, Assembly assembly, Object[] args) 
    at Machine.Specifications.Runner.Impl.AppDomainRunner.RunMember(Assembly assembly, MemberInfo member) 
    at Machine.Specifications.TDNetRunner.SpecificationRunner.RunMember(ITestListener testListener, Assembly assembly, MemberInfo member) 
    at TestDriven.TestRunner.AdaptorTestRunner.Run(ITestListener testListener, ITraceListener traceListener, String assemblyPath, String testPath) 
    at TestDriven.TestRunner.ThreadTestRunner.Runner.Run() 

0 passed, 1 failed, 0 skipped, took 1.12 seconds (MSpec). 

MSpecをGithubから直接インストールしようとしましたが、NuGetを使用してインストールしました。その後、同じ例外を受け取っている間に、TD.NETをアンインストールしてTD.NETを再インストールしました。引き続きこの例外を受け取ります。

アイデア?思考?ソリューション?

答えて

2

TestDriven.NETにMSpecテストランナーを登録する必要がありますか?あなたを助けるために、この記事をチェックアウト:あなたが前にTD.Netランナーを登録した場合

http://eduncan911.com/blog/registering-mspec-runners-for-testdriven-net-on-windows-x64.aspx

+1

TD.Net> = 2.24を使用する場合、ランナーを登録する必要はありません。あなたのプロジェクトが参照している 'Machine.Specifications.dll'の隣に' Machine.Specifications.dll.tdnet'と 'Machine.Specifications.TDNetRunner.dll'を置いてください。 –

1

は、その登録を解除してください(一部のレジストリが必要になることがありますハッキング - 取り消す方法InstallTDNetRunner.batを参照してください)。

TD.Net> = 2.24を実行してください。プロジェクトにNuGetパッケージを追加し、TD.Netを介してテストを実行します。 NuGetパッケージには、ReSharperランナーがインストールされている場合があります。

エラーが引き続き発生する場合は、古いバージョンのMSpecがおそらくどこかで参照されている可能性があります。古いバージョンは0.3.0.0で、NuGetは現在0.4.7.0です。

(質問を投稿した時点でNuGetパッケージが提供されました。そのパッケージには適切なTD.Netランナーが含まれていませんでした。すべてのランナーを含む新しいNuGetパッケージ)

関連する問題