• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jUnit test dla własnego wyjątku

Aruba Cloud - Virtual Private Server VPS
0 głosów
311 wizyt
pytanie zadane 13 czerwca 2018 w Java przez Stalowy69 Użytkownik (510 p.)
zmienione kategorie 15 czerwca 2018 przez Arkadiusz Waluk

Siemka, mam kurde problem. Mam własny wyjątek który rzuca wtedy gdy do Listy<int> zamiast liczby podam cokolwiek innego. 
Mam w zadaniu ten wyjątek przetestować. No to chciałem przetestować prosto czy rzuca wyjątek gdy podam "nie liczbę"  i tu zaczyna się problem.

 

Jakkolwiek chciałbym podać do inta Stringa żeby rzucił wyjątkiem to nawet nie pozwoli się skompilować i ostrzega o złych typach danych. Ma ktoś pomysł jak to zrobić?

package Lab8_1;

import org.junit.Before;
import org.junit.Test;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Scanner;


public class MyIsDigitExceptionTest {



    private List<Integer> list;
    private InputStream in;
    Scanner iN;
    String data;
    InputStream stdin;

    @Before
    public void setUp(){

        list = new ArrayList<>();
        iN = new Scanner(System.in);
        data = "test text";
        stdin = System.in;
    }


    @Test(expected = MyIsDigitException.class)
    public void expectedException() {
        System.setIn(new ByteArrayInputStream(data.getBytes()));
        int i = iN.nextLine();  //tutaj jest problem

    }
}

 

komentarz 13 czerwca 2018 przez j23 Mędrzec (195,240 p.)
Zła kategoria.

2 odpowiedzi

0 głosów
odpowiedź 13 sierpnia 2018 przez Wiciorny Ekspert (280,450 p.)
wybrane 3 stycznia 2019 przez Stalowy69
 
Najlepsza

Tworzysz wyjątek jako clase- globalną, i podajesz konstruktor jako wyjątek np...  

throw( new MyException() ).when(....);

albo jesli masz akcje... to spodziewasz się 

when( action ). thenThrow ( mój wyjątek ) 

 

ziom testy tyczą się funkcjonalności METODY ... a nie tego co wprowadzi użytkownik, nie testujemy

SYSTEM-IN w testach ... tylko metody

int i = iN.nextLine(); to jest niepoprawne wgl używanie  

0 głosów
odpowiedź 15 czerwca 2018 przez Wiciorny Ekspert (280,450 p.)
Nadal potrzeba Ci pomocy? :) czy sobie poradziłeś ?

Podobne pytania

0 głosów
1 odpowiedź 155 wizyt
pytanie zadane 13 stycznia 2021 w Java przez komboboost0 Użytkownik (570 p.)
+1 głos
1 odpowiedź 929 wizyt
pytanie zadane 16 października 2021 w Java przez p_wika Nowicjusz (190 p.)
0 głosów
1 odpowiedź 488 wizyt
pytanie zadane 4 maja 2021 w Java przez janyczek Początkujący (360 p.)

93,332 zapytań

142,325 odpowiedzi

322,402 komentarzy

62,669 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...