MSPEC работает под Resharper Fine, но Td.net бросает исключение
-
24-10-2019 - |
Вопрос
Я получал это исключение при попытке запустить спецификационные тесты 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. Все еще получая это исключение.
Любые идеи? Мысли? Решения?
Решение
Может быть, вам нужно зарегистрировать Test Runner MSPEC на testDriven.net? Проверьте этот пост, чтобы помочь вам:
http://eduncan911.com/blog/registering-mspec-conners-for-testdriven-net-on-windows-x64.aspx
Другие советы
Если вы зарегистрировали бегун 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. Проблема, которую вы описали все бегуны.)