krzysztof owsiany - mrdev · 2020. 5. 24. · warstwa 1 warstwa 2 warstwa n moduŁ 1 moduŁ 2...
TRANSCRIPT
![Page 1: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/1.jpg)
Krzysztof Owsiany
Twitter: @k_owsiany
Blog: MrDev.pl
Podcast: After.conf
![Page 2: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/2.jpg)
Agenda
● Testy automatyczne● TDD● GIT Flow● Warsztaty● Do kodu!
![Page 3: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/3.jpg)
Testy automatyczne
![Page 4: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/4.jpg)
program sprawdza program
test sprawdza funkcjonalność
![Page 5: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/5.jpg)
jednostkowe(unit)
integracyjne (integration)
uzżytkownika(end to end)
![Page 6: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/6.jpg)
Warstwa 1
Warstwa 2
Warstwa n
MODUŁ 1
MODUŁ 2
MODUŁ 3
MODUŁ 4
MODUŁ 5
MODUŁ n
test 1
test 2
test 3
test 1
test 2
test 3
test 1
test 2
test 1
test 2
test 3
test 1
test 1
![Page 7: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/7.jpg)
APLIKACJA
MODUŁ 1
MODUŁ 2
MODUŁ 3
MODUŁ 4
MODUŁ 5
MODUŁ n
test 1
test 2
test 3
test 1
test 2
test 3
test 1
test 2
test 1
test 2
test 3
test 1
test 1
![Page 8: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/8.jpg)
Test-Driven Development
![Page 9: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/9.jpg)
CODECODEREFA-CTOR
REFA-CTOR
TESTTEST
![Page 10: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/10.jpg)
Git, Git Flow, GitHub
![Page 11: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/11.jpg)
git
![Page 12: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/12.jpg)
master
![Page 13: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/13.jpg)
gitflow
![Page 14: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/14.jpg)
master
v0.1 v0.11 v0.2
hotfixes
releases
develop
features
v0.2
v0.3
v0.3
![Page 15: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/15.jpg)
GitHub
![Page 16: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/16.jpg)
Warsztaty
![Page 17: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/17.jpg)
G I T
D O J O
TDD
![Page 18: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/18.jpg)
Testator
Refaktoryzator
Integrator Implementator
Scenariusz
![Page 19: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/19.jpg)
public class OperationTest{[Fact] lub [Theory][InlineData(var1,var2)]public void nazwa_testu() {
//arrange_fixture.arrange_operation();
act();
//assert_fixture.assert();
}
private void act() {_fixture.act();
}
public OperationText(){_fixture = OperationFixture.Create();
}
private readonly OperationFixture _fixture;}
public class OperationFixture{ private Operation _operation;
public OperationFixture(){_operation = new Operation();
}
public void arrange_operation() {_operation.Set(0);
}
private void act() {_operation.Run();
}
public void assert() {_operation.Result .ShouldBe(0);
}}
![Page 20: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/20.jpg)
public class OperationTest{[Fact] lub [Theory][InlineData(var1,var2)]public void nazwa_testu() {
//arrange_fixture.arrange_operation();
act();
//assert_fixture.assert_throw_exception();
}
private void act() {_fixture.act();
}
public OperationText(){_fixture = OperationFixture.Create();
}
private readonly OperationFixture _fixture;}
public class OperationFixture{ private Operation _operation;
private Action _act;
public OperationFixture(){_operation = new Operation();
}
public void arrange_operation() {_operation.Set(0);
}
private void act() {_act = () => operation.Run();
}
public void assert_throw_exception() {_act .ShouldThrow<Exception>() .WithMessage(”xyz”);
}}
![Page 21: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/21.jpg)
fakt__scenariusz_jaki_testuje
oczekiwane_zachowanie__rezultat__uzasadnienie
nazwa_testu
poprawny_wynik_dodawania__gdy_liczba_a_i_liczba_b_są_całkowite
![Page 22: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/22.jpg)
asercja co_weryfikuje
nazwa_asercji
asercja__poprawny_wynik_dodawania
![Page 23: Krzysztof Owsiany - MrDev · 2020. 5. 24. · Warstwa 1 Warstwa 2 Warstwa n MODUŁ 1 MODUŁ 2 MODUŁ 3 MODUŁ 4 MODUŁ 5 MODUŁ n test 1 test 2 test 3 test 1 test 2 test 3 test 1](https://reader034.vdocuments.net/reader034/viewer/2022051919/600c4c7353d3a85408715dfc/html5/thumbnails/23.jpg)
Do kodu!