Diskuze: Executable java soubor
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 14 zpráv z 14.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
si si jistý, že toto patří do cekce pro .NET?
Ten dotaz je také dost divný. JAR ti vygeneruje IDE, kolik máš v aplikaci tříd je jedno, jen jedna je spustitelná metodou main.
Zabalíš výsledné třídy do jednoho souboru .jar
David Hartinger Můžeš vlákno přesunout?
Vlákno bych bez keců přesunul, kdybych měl na to příslušná práva a Petr Nymsa jistě také.
Metodu main() dávám do každé třídy. Bez ní bych ty třídy nemohl samostatně spouštět a testovat.
A jak mám tu třídu spustit bez metody main()? To bych ty testy musel psát mimo třídu. Nemohl bych pak testovat privátní atributy a metody. Takhle to mám všechno hezky pohromadě v jednom zdrojáku. Každou třídu si hezky otestuji přímo v editoru klávesou <F9>.
Tady máš malou ukázku:
public class Trojuhelnik {
public static class Test {
public static void main(String[] args) {
Trojuhelnik abc = new Trojuhelnik(3, 4);
assert abc.a == 3 : "Chyba 'a' v konstruktoru";
assert abc.b == 4 : "Chyba 'b' v konstruktoru";
assert abc.prepona() == 5.0 : "Chyba metody prepona()";
}
}
private int a, b;
Trojuhelnik(int a, int b) {
this.a = a;
this.b = b;
}
double prepona() {
return Math.sqrt(a*a + b*b);
}
}
Po kompilaci se mi automaticky spustí Trojuhelnik$Test.
Soubor Trojuhelnik$Test.class do JARu nedávám, protože tam není k ničemu potřebný.
Doporučuji použít knihovnu JUnit. Unit testy vytvořené pomocí Junit dokáže spustit každé rozumné IDE. Unit testy se záměrně píší do samostatných tříd. Testovat private metody nemá smysl. Testuje se vnější rozhraní.
O knihovně JUnit vím. IDE nepoužívám. Unit testy záměrně píšu do stejné třídy. Testuji vše, co testovat potřebuji. Nemusím pak ladit.
Zobrazeno 14 zpráv z 14.