Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>To me BDD allow me to verify that I've built the right thing. That means that If I plug my application on a real database and use the real UI, it should behave correctly. That's the end to end you are talking about.</p> <p>Now if my plug my application on a in memory storage and I talk to the app through its API level (so just below the UI). I will expect it to behave exactly the same way.</p> <p>Now that's the thing, we need to be clear on what we mean by behaviour, what is the behaviour we are interesting in when we do BDD.</p> <p>In my case, if I start from a user story and write scenarios, i'm interested mainly in the behaviour that goes through my application API, service layer, domain entities, helper, etc...mainly I'm not so much interested in what will happen in the UI nor the database. The real meat is all the code written on the server side. That's the behaviour i'm interested in. If you think like that it makes sense to get rid of the UI and the DB, because we don't care about these guys. The expected Behaviour of the UI is to display the Data that my application give. The UI is a dumb thing. The expected behaviour of the DB is to store and retrieve entities that my application give or want. That's also a really dumb thing. Now everything else, that's where all the smartness is and I'm responsible for.</p> <p>So I'll happily run my BDD scenarios without a UI and using an in memory version of my repositories. The bonus I get from that is really really fast, focused and maintainable tests.</p> <p>Regarding the UI and the DB, I would write javascript unit tests to test the behaviour in there, today some UI can have lots of display logic to hide and show stuff, but that kind of behaviour is different from the behaviour in my user stories bdd scenarios (they should not talk about the UI). </p> <p>For the DB I'd write integration tests just to check that my real repositories are able to read and write stuff on the DB.</p> <p>And finally I'd write just a few end to end tests to check everything is OK when wired together. </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload