2014-12-10 18 views

risposta

9

_ è un jolly, qualsiasi oggetto. Vedi here per scoprire come è stato implementato esattamente e here per i documenti. _ è utilizzato per esempio per controllare l'invocazione di un metodo che l'argomento non importa, allora assomiglia:

1 * obj.method(1, _)

In questo caso particolare è verificato se il metodo method su istanza obj era invocato una sola volta con 1 come un primo argomento e qualsiasi cosa come un secondo.

+1

Un amico [link] (https://spock-framework.readthedocs.org/en/latest/interaction_based_testing.html#interactions) alla documentazione di Spock che spiega i caratteri jolly e la cardinalità ([il tuo caso specifico] (https: // spock-framework .readthedocs.org/it/ultima/interaction_based_testing.html # corrispondenza-qualsiasi-metodo-call)). –

+0

Grazie a @GregorPetrin! Volevo mostrare l'implementazione, piuttosto l'uso, tuttavia è molto utile. – Opal

+1

Beh, è ​​bello averli entrambi, giusto? Comunque Spock ha documenti in due posti e la versione di Google Code sembra piuttosto ostile, quindi immagino sia sempre bene fornire un collegamento alla versione moderna .. –

0

EDIT: La mia risposta non risolve il problema degli operatori e si riferisce a un problema non correlato. Risposta corretta può essere visto sopra


_ è spesso usato per indicare contenuti privati ​​/ variabili in linguaggi come Groovy/Javascript che ora seguono o fornire direttive di visibilità.

Mentre è ancora possibile accedervi dall'esterno della classe o dell'istanza, lo sviluppatore sta tentando di dirti che questa variabile è destinata a essere utilizzata solo internamente.

+0

Java e Groovy hanno direttive di visibilità che non richiedono variabili private sottolineate, inoltre una variabile dovrebbe avere almeno * un * testo dopo il trattino basso per chiarire cosa significa. In questo caso è un carattere jolly specifico di Spock come l'altra risposta afferma correttamente. –

+0

Hai ragione circa l'uso del carattere jolly del trattino basso (ben fatto fornendo il collegamento, non facile da trovare). Groovy ignorava le direttive sulla visibilità per un lungo periodo di tempo, potresti fornirci un link alla documentazione che mostri che questo è stato risolto? – Dennis

+0

Non è stato risolto. Groovy tratta ancora specificamente la visibilità. Non so su una convenzione, ad es. da pitone applicato a groovy. – Opal

Problemi correlati