protected override async Task AfterTestAssemblyStartingAsync()
        {
            await base.AfterTestAssemblyStartingAsync();

            var startupClasses = TestAssembly.Assembly
                                 .GetTypes(true)
                                 .Where(t =>
            {
                var type = t.ToRuntimeType();
                return(type.IsClass &&
                       !type.IsAbstract &&
                       typeof(IBddToolkitStartup).IsAssignableFrom(type));
            })
                                 .Select(t => t.ToRuntimeType())
                                 .ToList();

            if (startupClasses.Count == 0)
            {
                return;
            }
            if (startupClasses.Count > 1)
            {
                throw new InvalidOperationException(
                          $"{nameof(IBddToolkitStartup)} can not have more than one implementation");
            }
            var startup = (IBddToolkitStartup)Activator.CreateInstance(startupClasses[0]);

            Bdd.Configure(startup.Setup);
        }
Exemplo n.º 2
0
 public void Setup() => Bdd.Configure(configuration => configuration
                                      .Use(DocPublishers.GherkinFiles()));
 public ScenarioBuilderTests()
 {
     _docPublisherMock = new Mock <DocPublisher>();
     Bdd.Configure(configuration => configuration.Use(_docPublisherMock.Object));
 }