コード例 #1
0
        private void ExecuteStep(SpecFlowStep step)
        {
            var    docStringArg = step.Argument as DocString;
            string docString    = docStringArg?.Content;
            var    dataTableArg = step.Argument as DataTable;
            Table  dataTable    = null;

            if (dataTableArg != null && dataTableArg.Rows.Any())
            {
                dataTable = new Table(dataTableArg.Rows.First().Cells.Select(c => c.Value).ToArray());
                foreach (var row in dataTableArg.Rows.Skip(1))
                {
                    dataTable.AddRow(row.Cells.Select(c => c.Value).ToArray());
                }
            }
            switch (step.StepKeyword)
            {
            case StepKeyword.Given:
                testRunner.Given(step.Text, docString, dataTable, step.Keyword);
                break;

            case StepKeyword.When:
                testRunner.When(step.Text, docString, dataTable, step.Keyword);
                break;

            case StepKeyword.Then:
                testRunner.Then(step.Text, docString, dataTable, step.Keyword);
                break;

            case StepKeyword.And:
                testRunner.And(step.Text, docString, dataTable, step.Keyword);
                break;

            case StepKeyword.But:
                testRunner.But(step.Text, docString, dataTable, step.Keyword);
                break;
            }
        }
コード例 #2
0
        public virtual void GetExistingData()
        {
            ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Get existing data", (string[])null);

#line 3
            this.ScenarioSetup(scenarioInfo);
#line 4
            testRunner.Given("pageNumber is set to 1", (string)null, (TechTalk.SpecFlow.Table)null, "Given ");
#line 5
            testRunner.And("pageSize is set to 25", (string)null, (TechTalk.SpecFlow.Table)null, "And ");
#line 6
            testRunner.When("request send to server", (string)null, (TechTalk.SpecFlow.Table)null, "When ");
#line 7
            testRunner.Then("response contains 200 status code", (string)null, (TechTalk.SpecFlow.Table)null, "Then ");
#line 8
            testRunner.And("Shows is not empty", (string)null, (TechTalk.SpecFlow.Table)null, "And ");
#line 9
            testRunner.And("Errors is empty", (string)null, (TechTalk.SpecFlow.Table)null, "And ");
#line hidden
            this.ScenarioCleanup();
        }
コード例 #3
0
ファイル: ITestRunner.cs プロジェクト: lukesmith/SpecFlow
 public static void And(this ITestRunner testRunner, string text, string multilineTextArg)
 {
     testRunner.And(text, multilineTextArg, null);
 }
コード例 #4
0
ファイル: ITestRunner.cs プロジェクト: lukesmith/SpecFlow
 public static void And(this ITestRunner testRunner, string text)
 {
     testRunner.And(text, null, null);
 }
コード例 #5
0
ファイル: Steps.cs プロジェクト: lukesmith/SpecFlow
 public void And(string step, string multilineTextArg, Table tableArg)
 {
     testRunner.And(step, multilineTextArg, tableArg);
 }
コード例 #6
0
 public void And(string text, string multilineTextArg, Table tableArg, string keyword = null)
 {
     _runner.And(text, multilineTextArg, tableArg, keyword);
     _outputWriter.WriteStep(text);
     GhprPluginHelper.TestExecutionEngineHelper.OnAnd(_engine.ScenarioContext);
 }
コード例 #7
0
 public void And(string text, string multilineTextArg, Table tableArg, string keyword = null)
 {
     _TestRunner.And(Transform(text), Transform(multilineTextArg), Transform(tableArg), keyword);
 }