Aktywne Wpisy
2xpapanalepiku +310
Nowa lewacka jakość, niedziela, godzina 11:30 w telewizji publicznej tematy jak stymulować kobietę podczas sexu. To się przestaje w głowie mieścić
#tvp
#tvp
![2xpapanalepiku - Nowa lewacka jakość, niedziela, godzina 11:30 w telewizji publicznej...](https://wykop.pl/cdn/c3201142/e320c27bce59954edc0640919e429d8d151267b396f5378b347b73c652cbc552,w150.jpg?author=2xpapanalepiku&auth=ddadb4fc0505554d4c3aef8b8c5d9774)
źródło: IMG_20240526_112709
Pobierz![GrammarNazi](https://wykop.pl/cdn/c3397992/GrammarNazi_16VFks7af4,q60.jpg)
GrammarNazi +811
![GrammarNazi - Mirki ratujcie, zakochałem się 乁(♥ ʖ̯♥)ㄏ
#heheszki #panwitek #wykopefe...](https://wykop.pl/cdn/c3201142/f9b3047739410f632fb1705fea07eff835fee964e0857437ad4065028e30d3e4,w150.png?author=GrammarNazi&auth=1c47433ee51135dace922b77e504e4cb)
źródło: temp_file3336986345522098486
Pobierz
public static void main(String[] args) {
String pat = args[0];
String txt = args[1];
PatternSearch searcher = new PatternSearch(pat);
int offset = searcher.search(txt);
System.out.println("offset:" + offset);
}
#naukaprogramowania #programowanie #bdd #tdd #cucumber
Bo w jednym przypadku robisz tablicę z jednym nullowm elementem a w drugim pustą tablicę.
No powinieneś przetestować. Testem jednostkowym np. Do przetwarzania listy argumentów powinieneś sobie jakąś klasę zrobić i tę klasę testujesz.
@69inch: tablica argumentów jest pusta, ciekawe dlaczego nie mogę z niej wybrać pierwszego elementu?
@69inch: możesz przenieść logikę wyciągania argumentów do innej klasy i tam przetestować ten kod w izolacji. Dobrym pomysłem jest przetestowanie takiej aplikacji konsolowej end-to-end: zamiast wołać kod na poziomie Javy po prostu odpalasz twój program w taki sposób jak robi to użytkownik. Jako wejście podajesz argumenty, jako wyjście otrzymujesz to co zostanie wypisane + kod błędu. Dzięki
W tym przypadku uruchomienie aplikacji bez parametrów albo z jakimiś parametrami z dupy to byłoby coś na co tester zwróciłby uwagę. Tylko, że tester obchodziłoby to, czy aplikacja się nie wykrzaczy i będzie jakiś sensowny komunikat
Stąd mój problem jak to powinno być przetestowane. Bo gdyby to było zaimplementowane to dałoby się to określić asercjami, ponieważ nie jest i jako tester nie mogę ingerować w kod, nie widzę tutaj czego powinienem się chwycić. Szczególnie, że gdy próbuję użyć asercji dla
Stąd cały problem, wiem, że z perspektywy usera jest bez znaczenia czy to NullPointer czy ArrayIndex. Po prostu po wpisaniu złego argumentu aplikacja przestaje działać. Wydaje mi się, że asercja
Arguments parseArguments(String ...args) throws ArgumentParsingException
. I zrób tak, żeby rzucać wyjątek przed wyciąganiem elementu z tablicy, gdy się okaże, że tablica jest za mała. ArgumentParsingException to oczywiście osobny typ wyjątku, który musisz stworzyćArrayIndexOutOfBoundsException
więc chyba działa. Niestety