Thread: Asserts in Java
-
05-03-2012, 09:35 #1
Asserts in Java
Java issue
Is er een mogelijkheid om via JUnit test te weten of er in een methode al dan niet een assert statement is uitgevoerd? (zonder de oorspronkelijke methodes aan te passen)
ps.: de asserts zijn verplicht en mogen dus niet vervangen wordenno votes
-
-
05-03-2012, 09:46 #2Member
- Registered
- 23/11/03
- Location
- Landeurp
- Posts
- 1,791
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 10/17
Als je assertions aanzet (met -enableassertions of -ea) dan krijg je een AssertionError als het argument van je assert false is en en dan faalt je test, anders niet. Wat probeer je precies te bereiken eigenlijk?
no votes
-
05-03-2012, 09:50 #3no votes
-
05-03-2012, 09:51 #4Member
- Registered
- 17/07/02
- Location
- Hasselt
- Posts
- 2,970
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/18
Ik ga er van uit dat je asserts niet in je test-code zitten...
Je kan via een mockframework zoals mockito nagaan of een method al dan niet is uitgevoerd geweest.If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilizationno votes
-
05-03-2012, 09:58 #5no votes
-
05-03-2012, 10:03 #6Member
- Registered
- 23/11/03
- Location
- Landeurp
- Posts
- 1,791
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 10/17
Als je code juist geschreven is, zou je die assertions net niet kunnen uitlokken.
Met assertions ga je gewoon bepaalde veronderstellingen doen in je code; als die veronderstelling toch fout blijkt te zijn, krijg je een AssertionError en moet je je code fixen.no votes
-
05-03-2012, 10:08 #7
ja en nee das het domme van nominaal programmeren
Je moet een preconditie in docu uitwerken en als iemand zich daar niet aanhoudt dan weet je niet wat het programma doet (in het geval van geen asserts) en een error in het geval van asserts. We mogen daar geen mouw aanpassen door condities in de code op te leggen.no votes
-
05-03-2012, 13:01 #8Member
- Registered
- 17/07/02
- Location
- Hasselt
- Posts
- 2,970
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/18
nm, was Spring asserts en java asserts door elkaar aan't gooien.
Nagaan of een assert uitgevoerd is in JUnit is volgens mij vrij moeilijk aangezien het al afhankelijk is van uw runtime configuratie.
Ik zou het iig niet weten
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilizationno votes
-
05-03-2012, 14:01 #9
tja heb nog eens rond gevraagd over het idee van nominaal en blijkbaar moeten methodes niet getest worden als aan de precondities niet voldaan is (asserts moeten later manueel verwijderd worden :o)
dus het hele concept van nominaal is echt stom dusno votes
-
05-03-2012, 14:59 #10Approved 9-lifer
- Registered
- 27/08/04
- Location
- Leuven
- Posts
- 930
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 11/38
Het concept van nominaal is eigenlijk eenvoudig en lui: je legt in documentatie voorwaarden op waaraan mensen die het gebruiken moeten voldoen en als ze er niet aan voldoen dan is het hun probleem.
Ik neem aan dat uw prof u die asserts laat gebruiken als een soort van extra documentatie van de voorwaarden tijdens het schrijven. Op zich horen die asserts niet echt bij het nominale paradigma omdat ge uw voorwaarden net niet gaat testen at runtime.I am thee and thou art me and all of one is the other.
TED talk: Richard Dawkins on militant atheismno votes
-
05-03-2012, 18:44 #11no votes

