C# 尝试运行SpecFlow NUnit测试时出错:“0”;无法访问已释放的对象。对象名称:';小黄瓜语言服务'&引用;
我正在使用SpecFlow设置NUnit C#测试,但是我的SpecFlowFeature中声明的那些测试似乎没有被文本浏览器选中。当尝试手动运行场景(通过右键单击它们)时,我得到以下错误:C# 尝试运行SpecFlow NUnit测试时出错:“0”;无法访问已释放的对象。对象名称:';小黄瓜语言服务'&引用;,c#,nunit,specflow,C#,Nunit,Specflow,我正在使用SpecFlow设置NUnit C#测试,但是我的SpecFlowFeature中声明的那些测试似乎没有被文本浏览器选中。当尝试手动运行场景(通过右键单击它们)时,我得到以下错误: "Cannot access a disposed object. Object name: 'GherkinLanguageService'" …一点也不响。有人对如何允许他们跑步有什么建议吗 功能部件代码如下所示: Feature: SpecFlowFeature As a user
"Cannot access a disposed object. Object name: 'GherkinLanguageService'"
…一点也不响。有人对如何允许他们跑步有什么建议吗
功能部件代码如下所示:
Feature: SpecFlowFeature
As a user
I would like to go to the what we do page
In order to see what we do information
@UI
Scenario: What we do Browsing
Given I have the home page open
When I select what we do from the menu
Then I see the what we do information
@UI
Scenario: Add an Asset to a Client page
Given I have the home page open
When I go to a client page
And I click the Add Download button
And I fill in the form
And I choose a file to upload
And I submit the form
Then I see the newly-submitted file
步骤定义都是自动生成的
编辑:我的测试项目中已安装的NuGet软件包列表:
- Microsoft.Net.Compilers 1.1.0-rc1
- NUnit 3.4.0
- NunitestAdapter 2.0.0
- Selenium.WebDriver 2.53.0
- SpecFlow 2.1.0
- SpecFlow.NUnit 2.1.0
- SpecFlow.NUnit.Runners 2.1.0
在那里,NUnit测试在VisualStudio测试资源管理器中可见
首先,我会尝试将NUnit降级到3.2.1。也许NUnitestAdapter有一些问题。这个问题是一个微妙的依赖性问题。以前的版本使用NUnit2.x,而我的当前版本使用NUnit3.x;现在为了使用NUnit,我需要一个名为“NUnit测试适配器”的NuGet包,但升级它是不够的:显然,对于NUnit 3+来说,有一个名为“NUnit 3测试适配器”的不同包,它不仅是前一个包的升级版本,而且是完全不同的版本
安装NUnit 3测试适配器解决了我的问题。能否添加代码?添加了SpecFlowFeature。你还需要什么?其余的代码是从该功能自动生成的,不存在生成错误。这些函数中有代码吗?或者它仍然只是默认的空生成的?是的,有代码,但我在测试运行之前收到了此错误消息-我甚至在第一个方法中放入了日志消息,它永远不会运行。@EmanueleCiriachi:请指定您的SpecFlow版本和测试项目中已安装的NuGet包的列表。