public void Given_TestCommands_Has_Method_TestMethod1() { var command = _rootcommand.GetSubCommand <TestCommands>(x => nameof(x.TestMethod1)); command.Handler.Should().NotBeNull(); var args = new[] { "TestMethod1" }; var presult = command.Parse(args); var services = new ServiceCollection(); services.AddTransient <ITestService, TestService>(); var con = new TestConsole(); var result = new Builder.CommandLineBuilder(_rootcommand) //.UseDependencyInjection(ctx => //{ // ctx.AddService(typeof(ITestService), () => new TestService()); //}) .UseDependencyInjection(services) .UseExceptionHandler((ex, ctx) => { con.Error.Write(ex.ToString()); }) .Build() .InvokeAsync(args, con); con.Error.ToString().Should().Be(string.Empty); con.Out.ToString().Should().Be("TestServices.DoSomething=Hello World"); }
public void Given_TestCommands_Has_Method_TestMethod2() { var command = _rootcommand.GetSubCommand <TestCommands>(x => nameof(x.TestMethod2)); command.Handler.Should().NotBeNull(); var args = new[] { "TestMethod2" }; var presult = command.Parse(args); var con = new TestConsole(); var result = new Builder.CommandLineBuilder(_rootcommand) .UseBindingContextInjection(ctx => { ctx.AddService(typeof(ITestService), () => new TestService()); }) .UseExceptionHandler((ex, ctx) => { con.Error.Write(ex.ToString()); }) .Build() .InvokeAsync(args, con); con.Error.ToString().Should().Be(string.Empty); con.Out.ToString().Should().Be("MyProperty1=foo"); }