Scala asert

Scala asert

Asert jest powszechnie stosowany w testowaniu funkcjonalności programu. Jako argument metoda assert musi udowodnić następujący warunek. Ta metoda jest zawarta w pakiecie Predef Scala; Dlatego nie są wymagane żadne inne pakiety. W artykule zrozumiemy koncepcję Assert w Scala. Metoda Assert wymaga warunków, aby zostać spełniona podczas wykonywania określonego działania.

Co jest zgodne z Scala?

Metoda Assert w Scala jest sposobem na dynamiczne weryfikację niezmiennika. Metoda Assert przyjmuje wyrażenie logiczne jako parametr i sprawdza je w danym kodzie. Jeśli wyrażenie logiczne jest prawdziwe, twierdza Scali będzie wykonywana normalnie. W razie fałszu, wówczas twierdza Scali zawiedzie za pomocą AssertionError. Istnieje inna metoda zdefiniowana przez cechę twierdzenia, która ukrywa tę określoną przez Predef Scala. Jest to samo co AssertionError, ale rzuca testFaileDException po FAŁSZU. Scalatest Assert daje dokładny błąd komunikatu niż assert Scali.

Jak wpisać casting w Scala w Ubuntu 20.04?

Scalatest domyślnie zapewnia trzy twierdzenia. To są następujące:

Zapewniać: Twierdzenie może być użyte do składania ogólnych stwierdzeń.

AsserTresult: Aby rozróżnić liczby oczekiwane od rzeczywistych.

Przechwycić: Aby sprawdzić, czy kawałek rzutu kodu jest oczekiwanym wyjątkiem.

Aby wiedzieć, jak te metody będą działać w programie SCALA, powinniśmy mieć jakiś praktyczny przykład. Wszystkie implementacje są w Scala SBT Build for Scalatest Asertion w aplikacji IntelliJ IDEA.

Przykład nr 1: Program metody Assert w Scala

Asert służy do składania ogólnych stwierdzeń. Możemy pisać twierdzenia w dowolnym programie Scala, wywołując słowo kluczowe „Assert”. Następnie, przekazanie wyrażenia logicznego w metodzie Assert Scali. W programie SCALA miejmy praktyczne metody Assert.

W powyższym programie Scala mamy obiekty klasowe przedstawione jako „przykłady”. W głównej metodzie „przykładu” zdefiniowaliśmy zmienne jako „val”. Zmienne są zdefiniowane jako „długość” i „szerokość”, które są inicjowane z różnymi wartościami liczbowymi. Użyliśmy słowa kluczowego „Assert” dla metody oświadczenia. W metodzie Assert Scali mamy wyrażenie logiczne, ponieważ długość jest równa szerokości. Metoda assertowa Scali powróci normalnie, jeśli określone wyrażenie boolowskie jest prawdziwe. Jeśli podane wyrażenie boolenowe jest fałszywe, wówczas metoda assert ulegnie awarii z AssertionError.

Ponieważ mamy różne wartości długości i szerokości, więc warunek jest fałszywy. Mamy AssertionError, ponieważ twierdzenie nie powiodło się. Wyjątek przedstawiono na poniższym obrazku.

Przykład nr 2: Program metody AsserTresult w Scala

Powyższy przykład nie jest w stanie rozróżnić wartości rzeczywistych i oczekiwanych. Jak operand „==” jest po prostu nazywany. W tym celu mamy metodę o nazwie Assert Result, którą można użyć w stosunku do słów kluczowych Assert. Po użyciu AsserTresult., przekazamy w niej oczekiwaną wartość. AsserTresult powinien przejść wartość oczekiwanej lub wystąpi wyjątki.

W kodzie ogólnym zaimportowaliśmy „org.Skalatest.Pakiet mechers ”z„ Org. Skalatest ”. Ten pakiet jest zasadniczo dla Scalatest Asererce. Następnie mamy klasę obiektową jako „Assert1”. W głównej metodzie Assert1 zdefiniowaliśmy dwie zmienne. Zmienna przechowuje wartości liczbowe, które są zdefiniowane jako „x” i „y”. Wydrukujemy wartości „x” i „y” poprzez instrukcję drukowania. Następnie mamy metodę AsserTresult, która ma oczekiwaną wartość 4, jak wspomniano w kodzie. W metodzie AsserTresult wykonujemy operację odejmowania na zmiennych „x” i „y”. Jeśli otrzymamy wartość „x-y” jako wartość oczekiwaną, instrukcja drukowania pokaże wartość zwracaną „x-y”, bo inaczej będziemy mieć testFaileDException.

Z „x-y” mamy wartość zwracaną „1”, ale „4” to wartość oczekiwana. Tak więc wyjście ma opis TestFaileDException jak poniżej.

W powyższym kodzie przykładowym AsserTresult mamy wyjątek w kodzie, ponieważ zwrócona wartość „x-y” jest inna od wartości oczekiwanej. Teraz wiemy, że wyniki wartości oczekiwanej jako x-y są równe 1. Przeszliśmy wartość „1” w metodzie AsserTresult, aby zobaczyć, co ona zwróci. Jeśli oczekiwana wartość zostanie zwrócona, tylko instrukcja drukowania wydrukuje wynik „x-y”.

Ponieważ mamy oczekiwaną wartość zwracającą jako wyjście, więc kod będzie wykonywany normalnie.

Przykład nr 3: Program Metody Assertrss and Intercept w Scala

Gdy funkcja jest wywoływana z nieprawidłowym wejściem, może być konieczne sprawdzenie, czy funkcja rzuca przewidywalny wyjątek w satysfakcjonującym stanie. Nie możemy tego zrobić w Scalatest, który zapewnia dwie metody: Assertrss i metoda przechwytująca.

W kodzie ogólnym stwierdziliśmy klasę obiektu jako „Assert1”. W głównej metodzie klasy obiektowej zdefiniowaliśmy zmienną jako „val”. Zmienna jest definiowana jako „a” i inicjowana za pomocą scala struny. Następnie nazwaliśmy metodę AssertHrows, w której mamy metodę Charat. Przeszliśmy numer indeksu dla skalą ciągłej zmiennej i As -2. Assertrss powrócą pomyślnie. Po wykonaniu nie mamy wyjątku, a wyjście jest wydrukowane na poniższym obrazku.

Program jest taki sam, jak pokazano poniżej tylko za pomocą metody przechwytu.

Funkcja przechwytu jest podobna do AssertRots, ale zamiast zwracać true, zwraca schwytany wyjątek, który można przeanalizować w razie potrzeby. W powyższym kodzie weryfikujemy, czy dane wewnątrz wyjątku mają oczekiwane wartości. Jak podaliśmy wartość oczekiwaną, więc wykonywanie tego kodu jest normalne, jak w powyższym przykładzie kodu Asserthrows.

Wniosek

Przewodnik ma na celu jasne i zwięzłe zrozumienie twierdzenia Scali i Skalatest Twierdzenie. W celu potwierdzenia wykonania programu potrzebne jest Scalatest Twierdzenie. Wykazaliśmy wszystkie trzy domyślnie Scalatest twierdzenie wraz z podaną wdrożeniem przykładu, a także pokazujemy wyjątki od czasu kompilacji. Te ilustracje bardzo Ci pomogą w radzeniu sobie z Scalatest Asersit.