[BUG]: Default Validate Test Level isn't set to RunSpecifiedTests when passing --tests

Abierto
#3,679 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
javascript, node.js
Área
cli, testing

Línea de trabajo

Read the shared testLevelFlag in src/utils/flags.ts and compare how sf project deploy validate and sf project deploy start set the test level when --tests is provided. The report identifies an existing fix in plugin-deploy-retrieve PR 1650, with code changes still pending. Done means validate selects RunSpecifiedTests implicitly and the request no longer fails with INVALID_OPERATION.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug validated
Before You Submit
  • I'm using the latest version of Salesforce CLI
  • I've searched the existing issues
  • I've run sf doctor to diagnose common issues
Related Issue

No response

Command

sf project deploy validate

Org Type

Production

Did this work before?

Not sure

Last Working Version

No response

Summary

sf project deploy validate overrides the shared testLevelFlag default (src/utils/flags.ts), which sets --test-level to RunSpecifiedTests when --tests is passed, with a static default: TestLevel.RunLocalTests.

As a result, sf project deploy validate --tests MyTest (without --test-level) sent runTests=[MyTest] with testLevel=RunLocalTests, and the Metadata API rejected the request:

INVALID_OPERATION: runTests can only be used with a testLevel of RunSpecifiedTests

This doesn't affect sf project deploy start, which successfully sets test level to RunSpecifiedTests when you pass it --tests. This request is to align this behavior with the validate command.

I created the PR for this fix last month in plugin-deploy-retrieve: https://github.com/salesforcecli/plugin-deploy-retrieve/pull/1650 (Markdown changes were approved but pending code changes)

Repository to Reproduce

No response

Steps to reproduce
  1. Run sf project deploy validate with --tests but no explicit --test-level set.
Expected Result

When --tests are provided to sf project deploy validate, the test level is set to RunSpecifiedTests implicitly.

Actual Result

When --tests are provided to sf project deploy validate, the test level is set to RunAllLocalTestsand the validation fails with an INVALID_OPERATION.

Error Message
INVALID_OPERATION: runTests can only be used with a testLevel of RunSpecifiedTests
System Information
{
  "architecture": "linux-x64",
  "cliVersion": "@salesforce/cli/2.156.8",
  "nodeVersion": "node-v24.22.1",
  "osVersion": "Linux 5.14.0-687.60.1.el9_8.x86_64",
  "rootPath": "/usr/local/sf",
  "shell": "bash",
  "pluginVersions": [
    "@oclif/plugin-autocomplete 4.0.5 (core)",
    "@oclif/plugin-commands 5.0.5 (core)",
    "@oclif/plugin-help 7.0.5 (core)",
    "@oclif/plugin-not-found 4.0.5 (core)",
    "@oclif/plugin-plugins 7.0.10 (core)",
    "@oclif/plugin-search 2.0.5 (core)",
    "@oclif/plugin-update 5.0.8 (core)",
    "@oclif/plugin-version 3.0.6 (core)",
    "@oclif/plugin-warn-if-update-available 4.0.4 (core)",
    "@oclif/plugin-which 4.0.5 (core)",
    "@salesforce/cli 2.156.8 (core)",
    "agent 2.2.3 (core)",
    "apex 4.4.4 (core)",
    "api 2.0.19 (core)",
    "auth 6.0.0 (core)",
    "data 5.1.19 (core)",
    "deploy-retrieve 4.2.18 (core)",
    "info 4.0.18 (core)",
    "limits 4.0.6 (core)",
    "marketplace 2.0.18 (core)",
    "org 7.0.2 (core)",
    "packaging 3.0.14 (core)",
    "schema 4.0.12 (core)",
    "settings 3.0.17 (core)",
    "sobject 2.0.13 (core)",
    "telemetry 4.2.1 (core)",
    "templates 57.4.8 (core)",
    "trust 4.0.23 (core)",
    "user 6.0.3 (core)",
    "apex-code-coverage-transformer 3.1.12 (user)",
    "apextestlist 1.15.4 (user)",
    "sfdx-git-delta 7.6.0 (user)"
  ]
}
Additional Information

See the fix in PR https://github.com/salesforcecli/plugin-deploy-retrieve/pull/1650

Screenshots or Log Files

No response

Lenguaje dominante
Sin datos de lenguaje
Estrellas
575
Forks
80
Merge medio
11 h 37 min
PR fusionados (30 d)
6

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de forcedotcom/cli

Todos los issues de forcedotcom/cli

Issues similares

Más issues de CLI

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.