【问题标题】:How to run NUnit from command prompt for my VS test units in C#?如何在 C# 中为我的 VS 测试单元从命令提示符运行 NUnit?
【发布时间】:2020-02-20 22:41:55
【问题描述】:

我是 NUnit 新手,在使用 nunit3-console.exe 执行我的测试用例时收到错误消息。下面是我正在使用的命令以及完整的错误。

命令提示符:

& 'C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe' C:\Users\sanchez3\Desktop\CICD-Test\cicd-test\NUnitTestProject1\NUnitTestProject1.csproj

我收到的错误如下。

NUnit Console Runner 3.11.0 (.NET 2.0)
Copyright (c) 2020 Charlie Poole, Rob Prouse
Thursday, February 20, 2020 2:11:26 PM

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

Test Files
    C:\Users\sanchez3\Desktop\CICD-Test\cicd-test\NUnitTestProject1\NUnitTestProject1.sln


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: 2020-02-20 22:11:27Z
    End time: 2020-02-20 22:11:28Z
    Duration: 0.950 seconds

Results (nunit3) saved as TestResult.xml

该项目是一个新项目,只有两个基本的 NUnit 测试。不知道为什么我会收到此错误。我已经阅读了有关此的其他线程,但似乎无法找到解决方案。感谢您的帮助,谢谢!

【问题讨论】:

  • 你能发布你的 NUnit 测试的代码吗?你安装了哪些 NuGet 包?
  • StackOverflow 说我在尝试粘贴代码时超出了最大字符数。至于包,我安装了 NUnit 和 NUnit3TestAdapter。以及一些 Selenium 包。
  • 发布minimal-reproducible-example。不是完整的代码。它可以帮助您确定根本原因。
  • 更多信息可能会有所帮助,但作为一种快捷方式,您可以告诉我们您的代码所针对的运行时。如果是 .NET Core,则无法使用 NUnit 控制台运行程序。
  • 堆栈跟踪没有为您的代码显示任何内容。都是框架类。您是否将该项目创建为 NUnit 测试项目?你安装了哪些 NuGet 包?

标签: c# selenium nunit


【解决方案1】:

你应该先compile你的项目然后run your tests像这样:

& 'C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe' 'C:\Compiled solution path\NUnitTestProject1.dll'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 2021-09-02
    • 1970-01-01
    • 2011-04-25
    • 2011-01-03
    相关资源
    最近更新 更多