MSpec работает под ReSharper нормально, но TD.NET выдает исключение - PullRequest
1 голос
/ 26 января 2011

Я получаю это исключение при попытке запустить спецификации спецификации mspec с 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 ]

2 голосов
/ 13 февраля 2011

Может быть, вам нужно зарегистрировать тестер MSpec в TestDriven.NET? Прочтите этот пост, чтобы помочь вам:

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

1 голос
/ 12 марта 2011

Если вы ранее зарегистрировали бегун TD.Net, пожалуйста, отмените его регистрацию (может потребоваться взлом реестра) - см. InstallTDNetRunner.bat как отменить).

Пожалуйста, убедитесь, что вы запускаете TD.Net> = 2.24,Добавьте пакет NuGet в свой проект и запустите тестирование через TD.Net.Пакет NuGet также содержит обновленный ReSharper runner, который вы, возможно, захотите установить.

Если ошибка все еще сохраняется, вы, скорее всего, где-то ссылаетесь на старую версию MSpec.Старая версия - 0.3.0.0, тогда как NuGet в настоящее время находится на 0.4.7.0.

(я мог бы добавить - к тому времени, когда вы опубликовали свой вопрос, у нас был пакет NuGet, добавленный кем-то. Этот пакет не содержалсоответствующий бегун TD.Net. Проблема, которую вы описали, должна быть решена теперь, когда у нас есть новый пакет NuGet, содержащий все бегуны.)

...