【发布时间】:2018-04-30 08:03:42
【问题描述】:
我在 S.O.但是对于这个,嗯,这几乎没有任何意义,因为我完全没有任何关于为什么会发生这种情况的最微弱的线索。
它发生在任何/每个测试中(甚至是“空白”测试)。而且我已经尝试过(卸载和)更新统一。 - 没用。
无论如何,这里是异常的堆栈跟踪:
2017.11.16 14:54:24.308 ERROR System.Reflection.TargetInvocationException: Uma exceção foi acionada pelo destino de uma chamada.
System.Reflection.TargetInvocationException: Uma exceção foi acionada pelo destino de uma chamada. ---> System.InvalidCastException: Não é possível converter um objeto do tipo 'NUnit.Engine.CallbackHandler' no tipo 'System.Web.UI.ICallbackEventHandler'.
em NUnit.Framework.Api.FrameworkController.LoadTestsAction..ctor(FrameworkController controller, Object handler)
--- Fim do rastreamento de pilha de exceções internas ---
em System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType)
em System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
em System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
em System.Activator.CreateInstance(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark& stackMark)
em System.Activator.CreateInstance(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo)
em System.AppDomain.CreateInstance(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes)
em System.AppDomain.CreateInstanceAndUnwrap(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityAttributes)
em NUnit.Engine.Drivers.NUnit3FrameworkDriver.Load(String testAssemblyPath, IDictionary`2 settings)
em NUnit.Engine.Runners.DirectTestRunner.LoadPackage()
em NUnit.Engine.Runners.AbstractTestRunner.Load()
em NUnit.Engine.Runners.MasterTestRunner.LoadPackage()
em NUnit.Engine.Runners.AbstractTestRunner.EnsurePackageIsLoaded()
em NUnit.Engine.Runners.MasterTestRunner.NUnit.Engine.ITestRunner.Explore(TestFilter filter)
em JetBrains.ReSharper.UnitTestRunner.nUnit30.BuiltInNUnitRunner.<>c__DisplayClass1.<RunTests>b__0()
em JetBrains.ReSharper.UnitTestRunner.nUnit30.BuiltInNUnitRunner.WithExtensiveErrorHandling(IRemoteTaskServer server, Action action)
这让我在过去几天没有(单元)测试的情况下编写了很多代码,所以如果有人对原因和/或解决方案有任何想法,将不胜感激。
【问题讨论】:
-
尝试使用 Unity Test Runner 而不是通过 Resharper/Rider/VS 运行它们。
-
@EvilTak 是我尝试的第一件事,但为了安全起见又做了一次。它给了我几乎相同的例外;修剪与 ReSharper 的 NUnit 运行器相关的几行。有什么区别呢?以前都工作过。
-
您正在编译哪个版本的 NUnit 框架 - v2 或 v3?
-
@Chris Unity 2017 的...我相信它是 V3 或“V3 等效”。
标签: unit-testing exception unity3d nunit