2014-04-01 55 views
0

我查看了specflow文檔以及幾篇關於如何在我的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

好吧,看起來我正確地做了引用。基本上,如果我構建並運行測試通過。

所以我所做的就是重新啓動VS2013旗艦版,現在顯示效果很好。

但是,如果我在規格流程特徵文件中進行更改,它會再次將其標記爲紅色,就好像它試圖調用的方法不存在一樣。但是,如果我構建並運行測試,它將起作用。我假設這是一個帶有specflow的bug。

相關問題