Source: http://martinfowler.com/bliki/GivenWhenThen.html
Dato-Kada-Tada je stil predstavljanja ispitivanja – ili kako bi svoje zagovornici reći – navodeći ponašanje sistema koristeći Specifikacija Primjer. To je pristup razvijen od strane Dan North i Chris Matts kao dio Ponašanja Vođen Razvoj (PVR). [1] Čini se kao strukturiranja pristup za mnoge okvira za testiranje, kao što su krastavac. Možete također gledam kao reformulaciju četiri faze testovi uzorak.
Suštinska ideja je da razbije pisanja scenarija (ili test) u tri sekcije:
- Dato dio opisuje stanje svijeta prije nego što počnete ponašanje ti navodi u ovom scenariju. Možete misliti o tome kao preduslova za test.
- Na kada sekcija je to ponašanje koje si precizirajući.
- Konačno, tada poglavlje opisuje promjene očekujete zbog navedenog ponašanja.
Pošto govorimo o primjerima specifikacije, ima smisla pokazati primjerom [2]
Karakteristike: Korisnik trguje akcijama
Scenario: korisnik zatraži prodaju prije završetka trgovanja
S obzirom da imam 100 dionica MSFT zaliha
I ja imam 150 dionica APPL zaliha
I vrijeme je prije završetka trgovanja
Kada sam ga pitao da proda 20 dionica MSFT zaliha
Onda sam treba da imaju 80 dionica MSFT zaliha
I ja bi trebao imati 150 dionica APPL zaliha
I naloga za prodaju za 20 dionica MSFT zaliha trebao biti pogubljen
Navedeni primjer koristi Krastavac [3], koji je popularan način pisanja Posao Suočiti Testovi ali možete koristiti obzirom-Kada-Onda stilu s bilo koje vrste testova. Neki ljudi vole staviti obzirom-Kada-Onda kao komentare na obilježiti neformalnim blokova unutar ispitivanja [4] jedinicu. Također sam vidio ovu konvenciju za strukturiranje neformalne proze.
To je uobičajeno u ovom pristupu to see “je spremala” koji se koristi za kombinirati više izraza unutar svake klauzule.
Ja sam okarakterisao dati kao opis preduslov države, jer je to način na koji volim da mislim o tome. A testiranje okvir, međutim, tumači Givens kao skup komandi kako bi sistem-pod-test u ispravnom stanju prije izvršavanja kada komandu. (Koji je razlog zašto druge konvencije imenovanja često zovu “setup”.) Testiranje okviri pružaju različite metode upita za tadašnje komande – to bi trebalo biti bez neželjenih efekata.
Iako Dato-Kada-Tada stil je simptomatično da se PVR, osnovna ideja je prilično uobičajena prilikom pisanja testova ili specifikaciju primjerom. Meszaros opisuje obrazac kao četiri faze testovi. Njegove četiri faze su Osnovati (Dato), Vježba (Kada), Provjerite (Tada) i Porušiti [5]. Bill Wake došao do formulacije kao Nas, Zakon, Assert.
Bilješke
1: U pregled komentare na ovaj, Dan krediti Ivan Moore za značajnu količinu inspiracije u dolazi sa ovim.
2: od Pete Hodgson
3: Ili da bude strog koristi Gerkin, koji je ime Krastavac DSL.
4: Test okviri imaju tendenciju da prate ili imenovanja stil xunit ili PVR, potonji imaju tendenciju da metode ime u Dato-Kada-Tada stilu.
5: Teardown nije uvijek potreban pri implementaciji testove (pogotovo ako koristite automatizovano raskidanje) i ne dodaje puno na komunikaciji aspekt specifikacije primjerom. Dakle, to je razumno da vidim da nedostaje iz PVR stila.