

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Usa il comando CLI `codebuild-tests-run`
<a name="parallel-test-tests-run"></a>

AWS CodeBuild fornisce una CLI che accetterà come input un comando di test e la posizione del file di test. La CLI con questo input dividerà i test nel numero di frammenti specificato nel `parallelism` campo in base ai nomi dei file di test. L'assegnazione dei file di test allo shard viene decisa dalla strategia di sharding.

```
codebuild-tests-run \
    --files-search "codebuild-glob-search '**/__tests__/*.js'" \
    --test-command 'npx jest --runInBand --coverage' \
    --sharding-strategy 'equal-distribution'
```

La tabella seguente descrive i campi per il comando CLI`codebuild-tests-run`.


| Nome del campo | Tipo | Obbligatorio o facoltativo | Definizione | 
| --- | --- | --- | --- | 
| `test-command` | Stringa | Richiesto | Questo comando viene utilizzato per eseguire i test. | 
| `files-search` | Stringa | Richiesto | Questo comando fornisce un elenco di file di test. Puoi usare il comando [ CLI ](parallel-test-glob-search.md) codebuild-glob-search AWS CodeBuild fornito o qualsiasi altro strumento di ricerca di file a tua scelta. Assicuratevi che il `files-search` comando restituisca i nomi dei file, ciascuno separato da una nuova riga.  | 
| `sharding-strategy` | Enum | Facoltativo | Valori validi: `equal-distribution` (valore predefinito), `stability`+  `equal-distribution`: Suddividi i file di test in modo uniforme in base ai nomi dei file di test. <br />+  `stability`: condividi i file di test utilizzando un hashing coerente dei nomi dei file. <br />Per ulteriori informazioni, consulta [Informazioni sulla suddivisione dei test](parallel-test-splitting.md). | 

La `codebuild-tests-run` CLI funziona innanzitutto per identificare l'elenco dei file di test utilizzando il comando fornito nel parametro. `files-search` Quindi determina un sottoinsieme di file di test designati per lo shard (ambiente) corrente utilizzando la strategia di sharding specificata. Infine, questo sottoinsieme di file di test viene formattato in un elenco separato da spazi e aggiunto alla fine del comando fornito nel parametro prima di essere eseguito. `test-command`

Per i framework di test che non accettano elenchi separati da spazi, la `codebuild-tests-run` CLI fornisce un'alternativa flessibile tramite la variabile di ambiente. `CODEBUILD_CURRENT_SHARD_FILES` Questa variabile contiene un elenco separato da nuova riga di percorsi di file di test designati per lo shard di build corrente. Sfruttando questa variabile di ambiente, è possibile adattarsi facilmente ai vari requisiti del framework di test, soddisfacendo quelli che prevedono formati di input diversi dagli elenchi separati da spazi. Inoltre, puoi anche formattare i nomi dei file di test secondo le necessità del framework di test. Quello che segue è un esempio di utilizzo di `CODEBUILD_CURRENT_SHARD_FILES` su Linux con il framework Django. Qui `CODEBUILD_CURRENT_SHARD_FILES` viene utilizzato per ottenere i percorsi dei * file * con notazione a punti supportati da Django:

```
codebuild-tests-run \
    —files-search "codebuild-glob-search '/tests/test_.py'" \
    —test-command 'python3 manage.py test $(echo "$CODEBUILD_CURRENT_SHARD_FILES" | sed -E "s/\//__/g; s/\.py$//; s/__/./g")' \
    —sharding-strategy 'equal-distribution'
```

**Nota**  
Nota che la variabile di `CODEBUILD_CURRENT_SHARD_FILES` ambiente può essere utilizzata solo all'interno dell'ambito della CLI`codebuild-tests-run`.  
Inoltre, se stai usando `CODEBUILD_CURRENT_SHARD_FILES` inside test-command, inserisci `CODEBUILD_CURRENT_SHARD_FILES` le virgolette doppie come mostrato nell'esempio precedente.