Scala hevder

Scala hevder

Hevde brukes ofte til å teste funksjonaliteten til et program. Som et argument må påståelsesmetoden bevise tilstanden som følger. Denne metoden er inkludert i Predf Scala -pakken; Dermed kreves ingen andre pakker. I artikkelen vil vi forstå begrepet påstand i Scala. Påståelsesmetoden trenger en tilstand for å være fornøyd når du utfører en spesifikk handling.

Hva er påstått i Scala?

Påstandsmetoden i Scala er en måte å dynamisk verifisere invariant. Påståelsesmetoden tar et boolsk uttrykk som en parameter og sjekker det gjennom den gitte koden. Hvis det boolske uttrykket er sant, vil Scalas påstander utføre normalt. Hvis falsk, vil Scalas påståelse mislykkes med en påstand. Det er en annen metode definert av påstandstrekk som skjuler den som er spesifisert av Predf Scala. Det er det samme som påstanden, men det kaster en testfailedException på tilstanden falsk. Scalatest Amerce gir en nøyaktig meldingsfeil enn Scalas påstander.

Hvordan skrive støping i Scala i Ubuntu 20.04?

Scalatest gir tre påstander som standard. Disse er følgende:

Påstå: påstå kan brukes til å komme med påstander om generelle uttalelser.

AssertResult: Å skille mellom forventede og faktiske tall.

Avskjære: Å bekrefte at et stykke kode kaster er et forventet unntak.

For å vite hvordan disse metodene vil fungere i et Scala-program, bør vi ha noe hands-on eksemplet nedenfor. Alle implementeringene er i Scala SBT -bygg for Scalatest -påstand i Intellij Idea -applikasjonen.

Eksempel nr. 1: Program for påstandsmetode i Scala

Hevde brukes til å komme med generelle uttalelser. Vi kan skrive påstander i et hvilket som helst Scala -program ved å ringe nøkkelordet. Deretter passerer det boolske uttrykket i Scalas påståelsesmetode. La oss ha noen praktiske påståsmetoder i Scala-programmet.

I ovennevnte Scala -program har vi klasseobjekter representert som "eksempler". I hovedmetoden for "eksempel" har vi definert variabler som "val". Variablene er definert som "lengde" og "bredde" som initialiseres med forskjellige numeriske verdier. Vi har brukt nøkkelordet "påstå" for påstandsmetoden. I Scalas påstandsmetode har vi et boolsk uttrykk ettersom lengden er lik bredden. Scalas påståelsesmetode vil returnere normalt hvis det spesifiserte boolske uttrykket er sant. Hvis det gitte boolske uttrykket er usant, vil påståelsesmetoden mislykkes med en påstand.

Ettersom vi har forskjellige lengder og breddeverdier, så er tilstanden falsk. Vi har en påstand som påstanden mislyktes. Unntaket presenteres på bildet nedenfor.

Eksempel 2: Program for AssertResult -metoden i Scala

Eksemplet ovenfor er ikke i stand til å skille mellom de faktiske og forventede verdiene. Som operand "==" blir ganske enkelt betegnet. For dette formålet har vi en metode som heter Asserce Resultat, som kan brukes mot påstand nøkkelord. Etter å ha brukt AssertResult., Vi vil gi den forventede verdien i den. AssertResult bør passere den forventede verdien, ellers vil unntak oppstå.

I overheadkoden har vi importert “org.Scalatest.Matchers ”-pakke fra“ Org. Scalatest ”. Denne pakken er i utgangspunktet for Scalatest påstand. Deretter har vi en objektklasse som "assert1". I hovedmetoden til Assert1 har vi definert to variabler. Variabelen lagrer de numeriske verdiene som er definert som “x” og “y”. Vi vil skrive ut verdiene til “x” og “y” gjennom utskriftserklæringen. Etter det har vi AssertResult -metoden som har en forventet verdi på 4 som nevnt i koden. I AssertResult -metoden utfører vi subtraksjonsoperasjonen på variablene “x” og “y”. Hvis vi får verdien av "x-y" som forventet verdi, vil utskriftserklæringen vise returverdien til "x-y", ellers vil vi ha en testfailedException.

Fra “x-y” har vi en returverdi “1”, men “4” er den forventede verdien. Så utdataene har en testfailedException -beskrivelse som nedenfor.

I ovennevnte AssertResult-eksempelkode har vi et unntak i koden fordi "X-Y" -verdien som returneres er forskjellig fra den forventede verdien. Nå vet vi at de forventede verdien som X-Y er lik 1. Vi har passert verdien “1” i AssertResult -metoden for å se hva den kommer tilbake. Hvis den forventede verdien returneres, vil bare utskriftserklæringen skrive ut “X-Y” -resultatet.

Ettersom vi har en forventet verdiavkastning som en utdata, vil koden utføres normalt.

Eksempel nr. 3: Program for asserteringer og avskjæringsmetode i Scala

Når en funksjon kalles med ugyldig inngang, kan det hende vi må sjekke om en funksjon kaster et forutsigbart unntak på en tilfredsstillende tilstand. Vi kan ikke gjøre dette i Scalatest som gir to metoder: påstanden og avskjæringsmetoden.

I overhead -koden har vi uttalt en objektklasse som "assert1". I hovedmetoden i objektklassen har vi definert en variabel som "val". Variabelen er definert som "A" og initialisert med strengen Scala. Deretter har vi kalt AssertThrows -metoden der vi har Charat -metoden. Vi har passert indeksnummeret for en streng skala med variabel en AS -2. Assertantene vil komme tilbake med hell. Ved utførelse har vi ikke fått et unntak, og utdataene skrives ut i bildet nedenfor.

Programmet er det samme som vist nedenfor bare ved hjelp av avskjæringsmetoden.

Avskjæringsfunksjonen ligner pådeponserende, men i stedet for å returnere sann, returnerer den det fangede unntaket, som du kan analysere ytterligere om ønskelig. I koden ovenfor verifiserer vi om dataene i unntaket har de forventede verdiene. Som vi har gitt den forventede verdien, så er utførelsen av denne koden normal som i ovennevnte kodeeksempel på Assert Throws.

Konklusjon

Guiden tar sikte på å gi deg en klar og kortfattet forståelse av Scalas påstander og skalateste påstand. Den skalateste påstanden er nødvendig for å validere programmets utførelse. Vi har demonstrert alle tre som standard Scalatest -påstand sammen med den gitte eksemplet implementering og viser også unntakene på kompileringstiden. Disse illustrasjonene vil hjelpe deg mye med å håndtere Scalatest påstand.