Skip to content

UseCommandHandler not works with UseParseErrorReporting #1208

Open
@CzBiX

Description

@CzBiX

Use codes from test

[Fact]
public static async Task Constructor_Injection_Injects_Service()
{
var service = new MyService();
var parser = new CommandLineBuilder(
new MyCommand()
)
.UseHost((builder) => {
builder.ConfigureServices(services =>
{
services.AddTransient(x => service);
})
.UseCommandHandler<MyCommand, MyCommand.MyHandler>();
})
.Build();
var result = await parser.InvokeAsync(new string[] { "--int-option", "54"});
service.Value.Should().Be(54);
}

but add UseParseErrorReporting like this:

[Fact]
public static async Task Constructor_Injection_Injects_Service()
{
    var service = new MyService();

    var parser = new CommandLineBuilder(
        new MyCommand()
        )
        .UseHost((builder) => {
            builder.ConfigureServices(services =>
            {
                services.AddTransient(x => service);
            })
            .UseCommandHandler<MyCommand, MyCommand.MyHandler>();
        })
        .UseParseErrorReporting()
        .Build();

    var result = await parser.InvokeAsync(new string[] { "--int-option", "54"});

    service.Value.Should().Be(54);
}

It will report Required command was not provided. when parsing.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions