2016-03-25 15 views
2

Ich habe folgendes Feature Datei Feature: Employee_EditEmployeeFeature prüfen Mitarbeiter bearbeiten SeiteSzenario Kontur zu erzeugen falsche Schritt Code

@Employee_EditEmployeeFeature 
Scenario Outline: Verify invalid format field error displayed (Email Address) 
    Given I enter an invalid worker email address <EmailAddress> 
    When I click on the Employee Edit Save button 
    Then Check invalid format error displayed for worker Email Address field 
Examples: 
| EmailAddress    | 
| invalidaddress   | 
| invalid [email protected] | 
| [email protected]  | 

@Employee_EditEmployeeFeature 
Scenario Outline: Verify invalid format field error displayed (Passport Number) 
    Given I enter invalid worker passport number <PassportNo> 
    When I click on the Employee Edit Save button 
    Then Check invalid format error displayed for worker passport field 
Examples: 
| PassportNo | 
| 1234  | 
| AS1234567 | 

Ich erhalte den folgenden Schritt Code für die gegebenen Anweisungen generiert

[Given(@"I enter an invalid worker email address invalidaddress")] 
    public void GivenIEnterAnInvalidWorkerEmailAddressInvalidaddress() 
    { 
     ScenarioContext.Current.Pending(); 
    } 

    [Given(@"I enter invalid worker passport number (.*)")] 
    public void GivenIEnterInvalidWorkerPassportNumber(int p0) 
    { 
     ScenarioContext.Current.Pending(); 
    } 

Weil der Schritt der E-Mail-Adresse wurde falsch generiert, z Wenn kein Parameter angegeben wird, schlägt der Test fehl, wenn Testname: VerifyInvalidFormatFieldErrorDisplayedEmailAddress_Invalidaddress Ergebnismeldung: Assert.Inconclusive ist fehlgeschlagen. Keine übereinstimmende Schrittdefinition für einen oder mehrere Schritte gefunden.

using System; 
using TechTalk.SpecFlow; 
namespace MyNamespace 
{ 
    [Binding] 
    public class StepDefinitions 
{ 
[Given(@"I enter an invalid worker email address invalidaddress")] 
public void GivenIEnterAnInvalidWorkerEmailAddressInvalidaddress() 
{ 
    ScenarioContext.Current.Pending(); 
} 

ich surften haben das Internet und sehen, haben andere Leute dieses Problem hatte, und ich habe einige ihrer Lösungen ohne Erfolg versucht. Irgendein Rat, wie ich wirklich nicht weitergehen kann, bis ich durchweg korrekten Schrittcode für Szenario-Umrisseigenschaften erzeugen kann.

Antwort

0

Zuerst verwende ich nicht das Beispiel-Tag, ich verwende Tabellen in meinen Tests.

Die Art, wie ich dies tun würde, ist:

[Given(@"I enter an invalid worker email address invalidaddress")] 
public void GivenIEnterAnInvalidWorkerEmailAddressInvalidaddress(Table table) 
{ 
    ScenarioContext.Current.Pending(); 
} 

Dann erstellen Sie eine neue Klassendatei und nennen Sie es, was Sie wollen, ich nenne es Paremeters.cs

In dieser Klassendatei erstellen öffentliche Zeichenfolge In diesem Beispiel würde ich sagen:

public string EmailAddress { get; set; } 

Jetzt in Ihrem Verfahren für die Tabelle füllen:

[Given(@"I enter an invalid worker email address invalidaddress")] 
public void GivenIEnterAnInvalidWorkerEmailAddressInvalidaddress(Table table) 
{ 
    var parameters = table.CreateSet<Parameters>(); 
    foreach (var parameter in parameters){ 
     Define your action here what you want to do with each email address 
    } 
} 

Hope this :-) der Parameter Integration richtig

+0

Die Verwendung von Tabellen und nicht separate Tests für verschiedene Fälle ist eine schlechte Idee. Sie nicht leicht sehen, welche der Fälle fehlschlägt –

+0

Ich helfe nur mit einer Lösung für sein Problem, die Parameter :) Wie zu und nicht zu verwenden Specflow ist eine andere Diskussion – Anand

1

Wahrscheinlich nicht erkannt haben die VS hilft wie du es erstellt hast. einfach ändern, um nach Ihrer Bindung:

[Given(@"I enter an invalid worker email address (.*)")] 
public void GivenIEnterAnInvalidWorkerEmailAddress(string invalidEMailAddress) 
{ 
    ScenarioContext.Current.Pending(); 
} 

http://www.specflow.org/documentation/Step-Definitions/ über Schritt Bindings für weitere Informationen.

+0

Dank dieses mein Problem gelöst. – Cooldudescrib

Verwandte Themen