Skip to content

CodeGeneration not accessible from IWebHostBuilder #5

@zachsaw-lmg

Description

@zachsaw-lmg

Currently this command expects an IHostBuilder to be passed in for it to build a webhost. However, in integration tests, we typically spin up a webapp via WebApplicationFactory (fixture) to verify the codegen the devs committed in the repo is current and correct.

We do the following currently.

    private void GenerateCode(IServiceProvider services) =>
        new DynamicCodeBuilder(services, services.GetServices<ICodeFileCollection>().ToArray())
            {
                ServiceVariableSource = services.GetService<IServiceVariableSource>()
            }
            .WriteGeneratedCode(file =>
            {
                _fixture.TestOutputHelper?.WriteLine("Wrote generated code file to " + file);
            });

However, this is reaching into undocumented (read: no official doc means potentially unsupported) territory. Would be nice if there's an extension method in a nuget package for this method (and other useful ones in the oakton package) that doesn't require us to use undocumented interfaces.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions