TDD's tre love
Gør Robert Martins tre TDD-love til Deres egne; de bestemmer præcist, hvornår De må skrive produktions- og testkode.
TDD's tre love er en gratis Mestrer test: JUnit, Mockito og integrationstest-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Mestrer test: JUnit, Mockito og integrationstest, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Mestrer test: JUnit, Mockito og integrationstest-kurset indeholder 4 lektioner i alt.
Disciplinen bag cyklussen
Red-green-refactor-cyklussen bliver præcis gennem tre korte regler, der kaldes de tre love i TDD og er formuleret af Robert C. Martin. De fastlægger nøjagtigt, hvornår du skriver kode.
Den første lov
Lov 1: Du må ikke skrive produktionskode, før du har skrevet en fejlende enhedstest.
Ingen kode tilføjes på gæt. Hver linje findes for at opfylde en test.
Den anden lov
Lov 2: Du må ikke skrive mere af en enhedstest, end der er nødvendigt for at få den til at fejle. En kompileringsfejl tæller som en fejl.
Den tredje lov
Lov 3: Du må ikke skrive mere produktionskode, end der er nødvendigt for at få den aktuelt fejlende test til at bestå.
En lille fejlende test
Følg lov 2, og skriv kun nok test til at få den til at fejle. Her findes klassen ikke engang endnu, så testen kan ikke kompileres.
@Test
void addsTwoNumbers() {
assertEquals(5, new Calc().add(2, 3));
}Netop nok produktionskode
Ifølge lov 3 skriver du det minimale for at få testen til at bestå, selvom det måske ser naivt ud i begyndelsen.
class Calc {
int add(int a, int b) { return a + b; }
}Tæt løkke
De tre love binder dig til en løkke, der måles i sekunder, ikke minutter: skriv lidt fejlende test, skriv lidt kode, og gentag.
Hvorfor så strengt?
Strengheden sikrer, at hver linje produktionskode er dækket af en test, og forhindrer dig i at overkonstruere funktioner, som ingen test kræver.
Undgå spekulativt design
Fordi du kun skriver kode, som en test kræver, undgår du naturligt YAGNI-overtrædelser (You Aren't Gonna Need It) og død kode.
Øvelse i lovene
Lovene føles begrænsende i begyndelsen. Med øvelse bliver løkken til muskelhukommelse og giver næsten som en bivirkning en omfattende testdækning.
Forholdet til Red-Green-Refactor
Lovene driver de røde og grønne faser; refaktorering sker stadig, når testene består, med det sikkerhedsnet, som lovene har opbygget.
Hurtigt tjek
Ifølge den første lov, hvornår må du skrive produktionskode?
Opsummering
Du har lært den disciplinerede kerne i TDD:
- Lov 1: ingen produktionskode uden en fejlende test
- Lov 2: skriv kun nok test til at få den til at fejle
- Lov 3: skriv kun nok kode til at få den til at bestå
- Lovene skaber en tæt løkke og fuld dækning
Lær Mestrer test: JUnit, Mockito og integrationstest med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “TDD's tre love” gratis?
Ja — alle 3 lektioner i læringssporet Mestrer test: JUnit, Mockito og integrationstest, inklusive “TDD's tre love”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Mestrer test: JUnit, Mockito og integrationstest-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “TDD's tre love”?
Gør Robert Martins tre TDD-love til Deres egne; de bestemmer præcist, hvornår De må skrive produktions- og testkode. Du øver dig i Mestrer test: JUnit, Mockito og integrationstest med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Mestrer test: JUnit, Mockito og integrationstest?
Der kræves ingen tidligere erfaring. Mestrer test: JUnit, Mockito og integrationstest på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “TDD's tre love”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Mestrer test: JUnit, Mockito og integrationstest-lektion?
Ja. Alle Mestrer test: JUnit, Mockito og integrationstest-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.