def METHOD_NAME(
    rule_runner: RuleRunner,
    targets: list[Target],
    *,
    extra_args: list[str] | None = None,
) -> tuple[LintResult, ...]:
    rule_runner.set_options(
        [
            "--backend-packages=pants.backend.experimental.openapi.lint.spectral",
            *(extra_args or ()),
        ],
        env_inherit={"PATH"},
    )
    partitions = rule_runner.request(
        Partitions[SpectralFieldSet, Any],
        [SpectralRequest.PartitionRequest(tuple(SpectralFieldSet.create(tgt) for tgt in targets))],
    )
    results = []
    for partition in partitions:
        result = rule_runner.request(
            LintResult,
            [SpectralRequest.Batch("", partition.elements, partition.metadata)],
        )
        results.append(result)
    return tuple(results)