Thread: Asserts in Java

  1. #1
    matt77hias's Avatar
    Registered
    05/10/11
    Location
    _
    Posts
    135
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0

    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 worden
    no votes  

  2. #2
    forloRn_'s Avatar
    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  

  3. #3
    matt77hias's Avatar
    Registered
    05/10/11
    Location
    _
    Posts
    135
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by forloRn_ View Post
    This quote is hidden because you are ignoring this member. Show
    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?
    We zijn verplicht alle methodes in alle situaties te testen en sommige van die methodes moesten nominaal uitgewerkt worden (vandaar de asserts)
    no votes  

  4. #4
    Emerxill's Avatar
    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 civilization
    no votes  

  5. #5
    matt77hias's Avatar
    Registered
    05/10/11
    Location
    _
    Posts
    135
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by Emerxill View Post
    This quote is hidden because you are ignoring this member. Show
    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.
    de asserts zitten niet in de test-code, maar ik wil ze wel uitlokken via de test-code

    das toch geen Junit?
    no votes  

  6. #6
    forloRn_'s Avatar
    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  

  7. #7
    matt77hias's Avatar
    Registered
    05/10/11
    Location
    _
    Posts
    135
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by forloRn_ View Post
    This quote is hidden because you are ignoring this member. Show
    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.
    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  

  8. #8
    Emerxill's Avatar
    Registered
    17/07/02
    Location
    Hasselt
    Posts
    2,970
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/18
    Quote Originally Posted by matt77hias View Post
    This quote is hidden because you are ignoring this member. Show
    de asserts zitten niet in de test-code, maar ik wil ze wel uitlokken via de test-code

    das toch geen Junit?
    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 civilization
    no votes  

  9. #9
    matt77hias's Avatar
    Registered
    05/10/11
    Location
    _
    Posts
    135
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by Emerxill View Post
    This quote is hidden because you are ignoring this member. Show
    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
    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 dus
    no votes  

  10. #10
    NeverwinterX's Avatar
    Registered
    27/08/04
    Location
    Leuven
    Posts
    930
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    11/38
    Quote Originally Posted by matt77hias View Post
    This quote is hidden because you are ignoring this member. Show
    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 dus
    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 atheism
    no votes  

  11. #11
    matt77hias's Avatar
    Registered
    05/10/11
    Location
    _
    Posts
    135
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by NeverwinterX View Post
    This quote is hidden because you are ignoring this member. Show
    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.
    blijkbaar..

    Nu ik het zo bekijk vraag ik me af of het eigenlijk voordelen (behalve minder werk) heeft in vgl met al de andere paradigma?
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in