我已经查看了specflow文档以及在线(这里也有一些)关于如何在我的specflow项目中使用外部类库的帖子。我试图使用这些建议,但似乎没有任何解决方案适合我。
我正在尝试引用外部项目中的外部类,以便通过我的specflow功能“调用”。
我理解我的配置需要如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" />
</configSections>
<specFlow>
<unitTestProvider name="MsTest" />
<stepAssemblies>
<stepAssembly assembly="UtilityClasses"/>
</stepAssemblies>
</specFlow>
</configuration>
所以我有一个名为UtilityClasses的独立项目,其中有一个名为Admin_Subtests.cs的csharp文件
然而,即使将步骤程序集添加到配置中,即使重建后,功能文件也似乎无法获取步骤。
csharp文件包含以下内容(其中包括):
namespace SeleniumDPS
{
[Binding]
public class Admin_Subtests
{
[When(@"I click Register")]
[Given(@"I click Register")]
public static void Subtest_Navigation_Registration()
{
try
{
Admin_Navigation.Registration.Click();
}
catch (Exception ex) { WebDriver.CatchNTrash(ex); }
//Logging for subtest
WebDriver.TestLog().LogSubTest(WebDriver.TestLog().GetTestResult(), "I click Register");
}
etc
这是我的专题文件:
Scenario: LPSS_AdminRegistration_PrivateLandlord
Given I click Register
由于某种原因,它只是没有拿起它。
即使代表我犯了一个愚蠢的错误,任何帮助都会受到高度赞赏。我已经看了几个小时了。
答案 0 :(得分:0)
好吧,我似乎正确地进行了引用。基本上,如果我构建并运行它,测试就会通过。
所以我所做的就是重新启动VS2013 Ultimate,它现在显示为正常。
但是如果我在规范流特征文件中进行更改,它会再次将其标记为红色,就像它试图调用的方法不存在一样。但是,如果我构建并运行测试,它将再次起作用。我假设这是specflow的错误。