mardi 18 décembre 2018

Testing Best Practices possibly with regard to Gherkin but probably not

A coworker and I are having an argument about the proper way to test. I'll lay them out as neutrally as I can, and won't give my opinion in this post.

This is written in gherkin. Substitute whatever pseudocode you want to.

Given I am a registered user
When I submit my credentials
Then I can login

Case one:

Given I am a registered user 
    (instantiates the user,
    stores the user to scenario-global memory,
    adds the user to the db with an API endpoint
    stores the API endpoint result to scenario-global memory [200, "Success message"])

When I submit my credentials
    (test the result of the previous step [200],
    fills the credential field(s),
    clicks submit, stores the result to scenario-global memory [200, "Success message"])

Then I can login
    (tests the results of the previous step)

Case two:

Given I am a registered user
    (instantiates the user,
    stores the user in scenario-global memory,
    adds the user to the db, tests the result of the db command)

When I submit my credentials
    (fills the UI credential field(s),
    clicks submit)

Then I can login
    (perform some operation that only a logged-in user could do [see the my profile button/call some api endpoint])

The contention is whether or not the Then step can rely on the result from a previous operation.

Aucun commentaire:

Enregistrer un commentaire