首页 > 解决方案 > 无法通过控制台运行我的 SpecFlow 功能代码

问题描述

我是 SpecFlow 的初学者。我无法通过控制台文件运行 SpecFlow 功能。

我的 NUnit 版本:

在此处输入图像描述

C:\Users\.nuget\packages\nunit.consolerunner\3.11.1\tools>nunit3-console.exe D:\automation\bin\Debug\netcoreapp3.1\automation.dll
NUnit Console Runner 3.11.1 (.NET 2.0)
Copyright (c) 2020 Charlie Poole, Rob Prouse
27 October 2021 10:43:34

Runtime Environment
OS Version: Microsoft Windows NT 6.2.9200.0
Runtime: .NET Framework CLR v4.0.30319.42000

Test Files

D:\automation\bin\Debug\netcoreapp3.1\automation.dll

Errors, Failures and Warnings

1) Error :
NUnit.Engine.NUnitEngineException : The NUnit 3 driver encountered an error while executing reflected code.
----> System.InvalidCastException : Unable to cast transparent proxy to type 'System.Web.UI.ICallbackEventHandler'.
--NUnitEngineException
The NUnit 3 driver encountered an error while executing reflected code.

Server stack trace:
at NUnit.Engine.Drivers.NUnit3FrameworkDriver.CreateObject(String typeName, Object[] args)
at NUnit.Engine.Drivers.NUnit3FrameworkDriver.Load(String testAssemblyPath, IDictionary`2 settings)
at NUnit.Engine.Runners.DirectTestRunner.LoadDriver(IFrameworkDriver driver, String testFile, TestPackage subPackage)
at NUnit.Engine.Runners.DirectTestRunner.LoadPackage()
at NUnit.Engine.Runners.DirectTestRunner.EnsurePackageIsLoaded()
at NUnit.Engine.Runners.DirectTestRunner.RunTests(ITestEventListener listener, TestFilter filter)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at NUnit.Engine.ITestEngineRunner.Run(ITestEventListener listener, TestFilter filter)
at NUnit.Engine.Runners.ProcessRunner.RunTests(ITestEventListener listener, TestFilter filter)
--
InvalidCastException
Unable to cast transparent proxy to type 'System.Web.UI.ICallbackEventHandler'.
at NUnit.Framework.Api.FrameworkController.LoadTestsAction..ctor(FrameworkController controller, Object handler)

Test Run Summary
Overall result: Failed
Test Count: 0, Passed: 0, Failed: 0, Warnings: 0, Inconclusive: 0, Skipped: 0
Start time: 2021-10-27 05:13:36Z
End time: 2021-10-27 05:13:44Z
Duration: 7.759 seconds

Results (nunit3) saved as TestResult.xml

你能帮忙吗?

谢谢你。

标签: nunitspecflownunit-console

解决方案


NUnit3 Console Runner 还不能运行 .NET Core 测试。运行 netcoreapp3.1 目标测试的选项有:

  1. 使用单独提供的包 `NUnit.ConsoleRunner.NetCore 运行
  2. 使用 NUnit3 适配器在 Visual Studio 测试资源管理器下运行
  3. 使用 NUnit3 适配器在 vstest.exe 下运行
  4. 使用 NUnitLite 运行
  5. 使用 NUnit 的 TestCentric GUI 运行。

请注意,选项 1 仅作为 beta 版本提供。NUnit3 控制台运行器的未来版本将能够混合运行 .NET Framework 和 .NET Core 测试。


推荐阅读