예제 #1
0
        public void WhenCucumberTestWithExampleExecuted_InvokesMultipleTimesWithParameters()
        {
            var fakeTest = new Mock <FakeCucumberClass>();

            TestEnvironment.SetupMocks(fakeTest);
            var test     = new CucumberTest(TestEnvironment.AssemblyAdapter.Instance);
            var examples = new Dictionary <string, List <string> >()
            {
                { "given", new List <string>()
                  {
                      "givenstring1", "givenstring2"
                  } },
                { "when", new List <string>()
                  {
                      "whenstring1", "whenstring2"
                  } },
                { "inthenput3", new List <string>()
                  {
                      "thenstring1", "thenstring2"
                  } }
            };

            test.ScenarioOutline("My Scenario Outline")
            .Given(@"I have a given ""<given>""")
            .And("I have a method with no inputs")
            .When(@"I have a when ""<when>""")
            .Then(@"I have a then ""<then>""")
            .Examples(examples)
            .Execute();

            VerifyList(fakeTest, examples);
        }
예제 #2
0
        public async Task <Result> ExecuteTestAsync(Assembly assembly, Step step)
        {
            var test = new CucumberTest(assembly);

            var stopWatch = new Stopwatch();

            stopWatch.Start();
            var result = await test.ExecuteAsync(step.Cucumber.Document);

            stopWatch.Stop();

            return(new Result(result.Success, stopWatch.ElapsedMilliseconds, result.Exception?.Message, step));
        }
예제 #3
0
        public void WhenCucumberTestIsExecuted_ExecutesAllMethodsWithParameters()
        {
            var fakeTest = new Mock <FakeCucumberClass>();

            TestEnvironment.SetupMocks(fakeTest);
            var test = new CucumberTest(TestEnvironment.AssemblyAdapter.Instance);

            test.Given("I have a given \"givenstring\"")
            .And("I have a method with no inputs")
            .When("I have a when \"whenstring\"")
            .Then("I have a then \"thenstring\"")
            .Execute();

            fakeTest.Verify(f => f.GivenMethod("givenstring"));
            fakeTest.Verify(f => f.WhenMethod("whenstring"));
            fakeTest.Verify(f => f.ThenMethod("thenstring"));
            fakeTest.Verify(f => f.NoInputs());
        }