Slide 1

Slide 1 text

TDD It’s easier than you think! Eric Deandrea Sr. Principal Developer Advocate @ Red Hat @edeandrea

Slide 2

Slide 2 text

Who am I? ● 25+ years software development experience ○ ~11 years as DevOps Architect in financial services / insurance Java Champion ● Contributor to Open Source Projects Quarkus Spring Boot, Spring Framework, Spring Security LangChain4j (& Quarkus LangChain4j) Wiremock Microcks ● Boston Java Users ACM Chapter Board Member ● Published author ● Avid boater & black belt in martial arts @edeandrea

Slide 3

Slide 3 text

https://red.ht/quarkus-spring-devs ● Showcase & explain Quarkus, how it enables modern Java development & the Kubernetes- native experience ● Introduce familiar Spring concepts, constructs, & conventions and how they map to Quarkus ● Equivalent code examples between Quarkus and Spring as well as emphasis on testing patterns & practices 3

Slide 4

Slide 4 text

Why are we here today?

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

6

Slide 7

Slide 7 text

6

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

11

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

https://x.com/holly_cummins/status/1788138252572004441

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

But first, Some basics

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

end-to-end tests high realism high value

Slide 21

Slide 21 text

end-to-end tests unit tests low effort high realism high value

Slide 22

Slide 22 text

end-to-end tests unit tests integration tests low effort high realism high value

Slide 23

Slide 23 text

end-to-end tests unit tests integration tests low effort high realism

Slide 24

Slide 24 text

end-to-end tests unit tests integration tests low effort high realism tests with application server test REST endpoints tests with a database

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Today’s challenge

Slide 27

Slide 27 text

Pet Adoption Application HTTP (REST) adoptions topic adoption-requests topic Get / Persist pet info

Slide 28

Slide 28 text

https://bit.ly/tdd-easy

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

Additional resources

Slide 31

Slide 31 text

Kubernetes Native Java with Quarkus https://www.infoq.com/articles/native-java-quarkus Deployment Developer Joy ● Quickly & easily build Kubernetes-Native Java applications ● Industry leader in startup time and memory utilization for native and JVM applications ● One step native executable generation ● Leverage existing Java, Jakarta, MicroProfile, & Spring expertise ● Imperative & reactive APIs side-by-side ● Live coding with zero config

Slide 32

Slide 32 text

https://www.oreilly.com/library/view/reactive-systems-in/9781492091714 https://developers.redhat.com/e-books/understanding-quarkus https://developers.redhat.com/e-books/practising-quarkus

Slide 33

Slide 33 text

https://quarkus.io/blog/quarkus-superheroes-to-the-rescue https://github.com/quarkusio/quarkus-super-heroes Quarkus Superheroes

Slide 34

Slide 34 text

https://quarkus.io @quarkusio https://quarkus.io/community

Slide 35

Slide 35 text

Thank you!