Affermare è comunemente usato nel testare la funzionalità di un programma. Come argomento, il metodo Assert deve dimostrare la condizione che segue. Questo metodo è incluso nel pacchetto Predef Scala; Quindi non sono richiesti altri pacchetti. Nell'articolo comprenderemo il concetto di asserzione in Scala. Il metodo Assert necessita di una condizione per essere soddisfatta quando si esegue un'azione specifica.
Cosa afferma in Scala?
Il metodo Assert in Scala è un modo per verificare dinamicamente l'invariante. Il metodo Assert prende un'espressione booleana come parametro e la controlla in tutto il codice dato. Se l'espressione booleana è vera, l'assert di Scala eseguirà normalmente. Se false, l'assert di Scala fallirà con un Assertionerror. C'è un altro metodo definito dal tratto di asserzione che nasconde quello specificato da Predef Scala. È lo stesso di AssertionError ma lancia un TestFaileDeption su condizione falso. Scalatest Assert fornisce un errore accurato del messaggio rispetto a Scala Assert.
Come digitare il casting in Scala in Ubuntu 20.04?
Scalatest fornisce tre asserzioni per impostazione predefinita. Questi sono i seguenti:
Affermare: assert può essere utilizzato per fare affermazioni generali.
AsserTresult: Per distinguere tra numeri previsti e reali.
Intercettare: Verificare che un pezzo di codice lancia sia un'eccezione prevista.
Per sapere come questi metodi funzionano in un programma Scala, dovremmo avere un po 'di esempio pratico di seguito. Tutte le implementazioni sono in Scala SBT Build per l'affermazione più scala nell'applicazione Idea Intellij.
Esempio n. 1: programma del metodo Assert in Scala
Assert viene utilizzato per fare dichiarazioni generali. Possiamo scrivere asserzioni in qualsiasi programma Scala chiamando la parola chiave "Assert". Quindi, passando l'espressione booleana nel metodo Assert di Scala. Facciamo alcuni metodi di assistenza pratica nel programma Scala.
Nel programma Scala di cui sopra, abbiamo oggetti di classe rappresentati come "esempi". Nel metodo principale di "esempio", abbiamo definito le variabili come "val". Le variabili sono definite come "lunghezza" e "larghezza" che sono inizializzate con valori numerici diversi. Abbiamo usato la parola chiave "assert" per il metodo di asserzione. Nel metodo Assert di Scala, abbiamo un'espressione booleana poiché la lunghezza è uguale alla larghezza. Il metodo Assert di Scala restituirà normalmente se l'espressione booleana specificata è vera. Se l'espressione booleana data è falsa, il metodo ASSERT fallirà con un Assertionerror.
Poiché abbiamo valori di lunghezza e larghezza diversi, quindi la condizione è falsa. Abbiamo un assertionerror come affermazione non è riuscita. L'eccezione è presentata nell'immagine qui sotto.
Esempio n. 2: programma del metodo Assertresult in Scala
L'esempio sopra non è in grado di distinguere tra i valori effettivi e previsti. Come l'operando "==" è semplicemente definito. A tale scopo, abbiamo un metodo denominato risultato Assert, che può essere utilizzato contro le parole chiave Assert. Dopo aver usato Assertresult., passeremo il valore previsto in esso. Assertresult dovrebbe passare il valore atteso oppure si verificheranno eccezioni.
Nel codice aereo, abbiamo importato la "Org.Scalatest.Pacchetto di accompagnatori "da" Org. Scalatest ". Questo pacchetto è fondamentalmente per l'affermazione più. Quindi, abbiamo una classe di oggetti come "Assert1". Nel metodo principale di Assert1, abbiamo definito due variabili. La variabile sta memorizzando i valori numerici definiti come "x" e "y". Stamperemo i valori di "x" e "y" tramite l'istruzione di stampa. Successivamente, abbiamo il metodo Assertresult che ha un valore atteso di 4 come menzionato nel codice. Nel metodo Assertresult, stiamo eseguendo l'operazione di sottrazione sulle variabili "X" e "Y". Se otteniamo il valore di "x-y" come valore previsto, allora l'istruzione di stampa mostrerà il valore di restituzione di "x-y", altrimenti avremo un TestFaileDException.
Dal "x-y", abbiamo un valore di ritorno "1" ma "4" è il valore atteso. Quindi, l'output ha una descrizione di TestfaileDException come di seguito.
Nel codice di esempio di Assertresult sopra, abbiamo un'eccezione nel codice perché il valore "X-Y" restituito è diverso dal valore previsto. Ora sappiamo che il valore previsto risulta come x-y è uguale a 1. Abbiamo superato il valore "1" nel metodo Assertresult per vedere cosa restituirà. Se il valore previsto viene restituito, solo l'istruzione di stampa stamperà il risultato "x-y".
Poiché abbiamo un rendimento del valore atteso come output, quindi il codice eseguirà normalmente.
Esempio n. 3: programma di assertThrows e Metodo di intercettazione in Scala
Quando viene chiamata una funzione con input non validi, potremmo dover verificare se una funzione lancia un'eccezione prevedibile a una condizione soddisfacente. Non possiamo farlo in Scalatest che fornisce due metodi: gli assertThrows e il metodo di intercettazione.
Nel codice aereo, abbiamo dichiarato una classe di oggetti come "Assert1". Nel metodo principale della classe Object, abbiamo definito una variabile come "Val". La variabile è definita come "a" e inizializzata con la stringa scala. Quindi, abbiamo chiamato il metodo AssertThrows in cui abbiamo il metodo Charat. Abbiamo superato il numero dell'indice per una stringa scala di variabile AS -2. Gli assertThrows torneranno correttamente. Al momento dell'esecuzione, non abbiamo avuto un'eccezione e l'output è stampato nell'immagine seguente.
Il programma è lo stesso come mostrato di seguito solo usando il metodo di intercettazione.
La funzione di intercetta è simile a AssertThrows, ma invece di restituire vero, restituisce l'eccezione catturata, che è possibile analizzare ulteriormente se lo si desidera. Nel codice sopra, stiamo verificando se i dati all'interno dell'eccezione hanno i valori previsti. Come abbiamo dato il valore previsto, quindi l'esecuzione di questo codice è normale come nell'esempio di Codice sopra indicato.
Conclusione
La guida mira a darti una comprensione chiara e concisa dell'affermazione di Scala e di Scalate. L'affermazione più scala è necessaria per convalidare l'esecuzione del programma. Abbiamo dimostrato tutti e tre per l'affermazione di Scalate più predefinita insieme all'implementazione di esempio e mostrare anche le eccezioni al momento della compilation. Queste illustrazioni ti aiuteranno molto a gestire l'affermazione più.