1

TD.NETでmspec仕様テストを実行しようとすると、この例外が発生します。

------ 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).

Githubから直接MSpecをインストールしてみましたが、NuGetを使用してインストールしました。その後、同じ例外を受け取りながら、TD.NETをアンインストールし、TD.NETを再インストールしました。まだこの例外を受け取っています。

何か案は?考え?ソリューション?

4

2 に答える 2

2

MSpecテストランナーをTestDriven.NETに登録する必要がありますか?あなたを助けるためにこの投稿をチェックしてください:

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

于 2011-02-13T13:25:17.237 に答える
1

以前にTD.Netランナーを登録したことがある場合は、登録を解除してください(レジストリのハッキングが必要になる場合があります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パッケージに含まれているので解決する必要があります。すべてのランナー。)

于 2011-03-12T15:01:19.040 に答える