Test Driven Development with Spring Boot - Sannidhi Jalukar, Madhura Bhave

แชร์
ฝัง

ความคิดเห็น • 89

  • @manuelcarbajal7610
    @manuelcarbajal7610 4 ปีที่แล้ว +60

    5:00 Integration test
    10:40 Controller Unit testing
    13:45 Controller creation
    14:46 Service unit testing
    19:05 Exception handler creation
    25:29 Repository unit testing
    51:28 Integration testing

  • @Skiamakhos
    @Skiamakhos 6 ปีที่แล้ว +16

    Something that often messes up importing dependencies in IntelliJ is this: in preferences, under Build, Execution, Deployment / Build Tools / Maven / Importing, un-check the checkbox that says "Keep source and test folders on reimport". I don't know who would ever want this checked. It basically makes the IDE ignore when you try to reimport dependencies.

  • @LorenzoBettini
    @LorenzoBettini 6 ปีที่แล้ว +3

    I enjoyed it a lot. But from what I recall, Sonarqube considers a critical issue having private methods in the controllers...

  • @jesse2006
    @jesse2006 5 ปีที่แล้ว +9

    please update to talk about using Jupiter jUnit 5 as the annotations and process is different

  • @CharlesRay87
    @CharlesRay87 6 ปีที่แล้ว +2

    Don’t get a purpose of testing repositories instead of larger units like application services or even modules. It is close to the “test-per-class” antipattern. I think we should focus more on testing behavior than implementation :)

  • @coolguy3316
    @coolguy3316 5 ปีที่แล้ว +21

    I am surprised to see IntelliJ idea instead of STS :-)

    • @AhmetMurati
      @AhmetMurati 4 ปีที่แล้ว +3

      Spring Tools Suite has some bugs especially when it comes to compiling, running the project

    • @BharCode09
      @BharCode09 4 ปีที่แล้ว +6

      IntelliJ is IntelliJ! Also the more we are addicted to that, dumber we become, bcz it's so IntelliJent!

  • @richardlanglois5183
    @richardlanglois5183 7 ปีที่แล้ว +4

    Great talk Sannidhi and Madhura, TDD is the way to go!

  • @omkarmanjrekar6645
    @omkarmanjrekar6645 4 ปีที่แล้ว +3

    This is really nice starting point for someone learning testing with Spring.
    Is there a github repository for the code shown in the video?

    • @darkenergy7121
      @darkenergy7121 3 ปีที่แล้ว +2

      It was given on the last slide. Busted. You didnt watch the entire presentation..😂🤣😅

  • @sagarrout007
    @sagarrout007 7 ปีที่แล้ว +1

    In the beginning, it was good because I have already seen Phil webb Spring Boot testing session. You guys are also good but network connection or something it get spoiled there. I loved it the beginnning abd now xou can see in teg i ma alos gettngi bda. :P

  • @nawabsonu
    @nawabsonu 6 ปีที่แล้ว +2

    Thanks for doing presentation on this.
    It was good at start, kind of lost interest once network problem started happening and we started into caching. Personally, I also felt we were going too fast with the presentation giving little time to understand what is written.

  • @gerdsfargen6687
    @gerdsfargen6687 2 ปีที่แล้ว

    So good! Comprehensive and all

  • @vanitapatel6109
    @vanitapatel6109 3 ปีที่แล้ว +1

    Great job girls, it was to the point and helpful..

  • @venuvemula2127
    @venuvemula2127 5 ปีที่แล้ว +1

    Loved the lived coding and enjoyed it but eventually the issue spoiled the fun. Well done gals

  • @RamMohan222
    @RamMohan222 6 ปีที่แล้ว +2

    Grate demo and good explanation about various layers of testing, special with mockito.

  • @juansalto8367
    @juansalto8367 2 ปีที่แล้ว

    the best is that voice saying "trying" 25:56

  • @punitdhiman
    @punitdhiman 6 ปีที่แล้ว +1

    watched for first 20 minutes...its good and fruitful...Thanks!!!

  • @tharindawicky
    @tharindawicky 4 ปีที่แล้ว

    They are working on "Maven Project > Offline Mode = true", that's why the dependency did not download from maven central.

    • @nickdan007
      @nickdan007 4 ปีที่แล้ว +1

      Thanks, I’m gonna check it, cause I had the same issue and I have to close the project and open the pom as a maven project so the dependencies load again in IntelliJ workspace .idea

  • @kevinjom1117
    @kevinjom1117 5 ปีที่แล้ว +1

    The driven design part and refactoring part are missing in this video though

  • @leszeknagooglach
    @leszeknagooglach 6 ปีที่แล้ว +1

    @DataJpaTest is itself is annotated with @AutoConfigureCache with @PropertyMapping("spring.cache.type") CacheType cacheProvider() default CacheType.NONE;
    So, is there really caching when using repository.save(entity) in a test?

  • @hazerend1402
    @hazerend1402 4 ปีที่แล้ว +4

    Sometimes intellij is having that problem,missing dependency, you just have to invalidate cache and restart intellij

  • @oibook
    @oibook 4 ปีที่แล้ว

    Excellent video. Same on Spring boot 2 and Junit 5 will be excellent.

  • @karthikperumalla7236
    @karthikperumalla7236 5 ปีที่แล้ว

    Awesome presentation. Thanks a lot for sharing with us.

  • @nirmalpune
    @nirmalpune 4 ปีที่แล้ว

    Very helpful....nicely explained!

  • @HasNoName69
    @HasNoName69 5 ปีที่แล้ว +3

    It's really hard to watch when you cannot see whole line of code. Why this font is so huge (or screen so small)?

  • @VLADICA94KG
    @VLADICA94KG 5 ปีที่แล้ว

    One question for CachingTest: Why the configured @AutoConfigureTestDatabase when they used @MockBean on CarRepository? It won't reach out memory database anyway....am I wrong? Thanks

  • @seweryn3001
    @seweryn3001 2 ปีที่แล้ว

    ANYONE: what is the starting Spring project? What dependencies? I doesn't work on my end. Probably incorrect versions/lack of dependencies on my side. Thanks

  • @saurabhmishra8151
    @saurabhmishra8151 3 ปีที่แล้ว +1

    If anyone's completed this tutorial, could you provide a link to the pom.xml file?

  • @uvsoftgroup4509
    @uvsoftgroup4509 6 ปีที่แล้ว +1

    very good overview for the different levels of testing in a spring boot application

  • @meowmeow70
    @meowmeow70 6 ปีที่แล้ว +1

    are you guys abandoning spring tool suites? all the demo seems to be done with intellij... I thought you have your own ide..

  • @mymislife
    @mymislife 5 ปีที่แล้ว +1

    This speech is amazing. Good job!

  • @pablohernandez4305
    @pablohernandez4305 3 ปีที่แล้ว

    thanks for this video

  • @zoladkow
    @zoladkow 3 ปีที่แล้ว

    Loved it!

  • @Ani2012Engneer
    @Ani2012Engneer 5 ปีที่แล้ว

    grate explanation, it's really helpful

  • @Skiamakhos
    @Skiamakhos 6 ปีที่แล้ว

    Hey does anyone know if there's an equivalent presentation for doing TDD in Spring MVC *without* Boot? Boot seems to be the buzzword of the day but a lot of us work on SpringMVC projects that didn't get Boot for whatever reason. How do we do all this "old school"?

  • @radhakrishnayadav3370
    @radhakrishnayadav3370 4 ปีที่แล้ว

    If you upload it to GIT, Can you share GIT link?

  • @softwaredevnk166
    @softwaredevnk166 2 ปีที่แล้ว

    Good start, but later ahead the code did not work for me
    There was too much of confusion later after which I got off the track
    Could have done better

  • @trozzonick77
    @trozzonick77 4 ปีที่แล้ว

    I m kind of disappointed that in such TDD presentation you do not start withe the use case scenario. Tha is teh one that define your domain and SUT.

  • @ariel_alves_dutra
    @ariel_alves_dutra 5 ปีที่แล้ว +1

    Amazing presentation!

  • @tetsuya8736
    @tetsuya8736 5 ปีที่แล้ว

    This is super.

  • @linuxealin
    @linuxealin 6 ปีที่แล้ว +9

    too many test annotations ... ...

  • @soyphea8697
    @soyphea8697 5 ปีที่แล้ว +1

    I would prefer testing the service. We should use @TestConfiguration to create the bean service instead of use MockitoJunitRunner.

  • @kanaillaurent526
    @kanaillaurent526 5 ปีที่แล้ว

    I'm lost with Spring. Why? Because Before we used to init mockMvc with "MockMvcBuilders.webAppContextSetup(this.wac).build()"; wac being "ApplicationContext wac= WebApplicationContextUtils.getRequiredWebApplicationContext(servletConfig.getServletContext());" In general there are too many ways to do the same thing and it always change. Am I wrong ?. And because I have the habit to keep all code that worked for me somewhere, I never know if my knowledge database is already obsolete. : -( Not even know if that demo works nowadays in 2019 and if it's the best practice. What should I do?

    • @ismailyavuz
      @ismailyavuz ปีที่แล้ว

      Read again from the official documentation for every release.. I think it's not only spring but software engineering...

    • @kanaillaurent526
      @kanaillaurent526 ปีที่แล้ว

      @@ismailyavuz thanks. Yes. Again... And again, and again, and again

  • @azatakhunov6061
    @azatakhunov6061 2 ปีที่แล้ว

    good video

  • @paulfrischknecht3999
    @paulfrischknecht3999 4 ปีที่แล้ว +1

    /cars/{name} was too generic for the tests they had. only prius was needed...

  • @IvanVilanculo92
    @IvanVilanculo92 4 ปีที่แล้ว

    I'm facing a problem where the WebMvcTest tries to instantiate every controller within the app and I have to mock all dependencies of every controller on every WebMvcTest 😔
    Can someone help me? Here is the stack overflow link stackoverflow.com/questions/64724771/webmvctest-attempts-to-load-every-application-controller

  • @guilhermeribeiro4344
    @guilhermeribeiro4344 6 ปีที่แล้ว +2

    I didn't see any of TDD on this video. I only have seen Spring test framework explained.

    • @HasNoName69
      @HasNoName69 5 ปีที่แล้ว +1

      women... and all is clear.

  • @mohammedershadulhaq9865
    @mohammedershadulhaq9865 2 ปีที่แล้ว +1

    This is not working in latest spring boot pls update the video

  • @chmaheshkrishna
    @chmaheshkrishna 6 ปีที่แล้ว

    Nice video, however, CrudRepository issue is about incorrect library but not the internet.

    • @dmitrypotenko4950
      @dmitrypotenko4950 5 ปีที่แล้ว

      The library was perfectly correct. The offline mode just didn't work for some reason. They should have tried resolve dependencies in the console by the command mvn dependency:resolve and see in the console what went wrong. This is the best what they could do.

    • @dougllassousa9659
      @dougllassousa9659 5 ปีที่แล้ว

      @@dmitrypotenko4950 the dependecy is incorrect, the correct starter is spring-boot-starter-data, not ... stater-data-jpa

    • @dmitrypotenko4950
      @dmitrypotenko4950 5 ปีที่แล้ว +1

      @@dougllassousa9659 mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa

    • @dougllassousa9659
      @dougllassousa9659 5 ปีที่แล้ว

      @@dmitrypotenko4950 Oh! that's right! My mistake

  • @cpsarathe
    @cpsarathe 5 ปีที่แล้ว

    Do you really need database for Unit Test ?

  • @CyberDaddy-o1l
    @CyberDaddy-o1l 6 ปีที่แล้ว

    Well done Gals you rock

  • @ahnmikey
    @ahnmikey 6 ปีที่แล้ว

    20:38 I do not see the 'st' command in my intellij. Anyone who can explain how?

    • @maciejreszke870
      @maciejreszke870 6 ปีที่แล้ว

      it's just custom binding

    • @alexispavlidis2728
      @alexispavlidis2728 5 ปีที่แล้ว +1

      It's a live tempalte. Google intelij live tempales, you can build your own alias for tempales

  • @ThePakChina
    @ThePakChina 5 ปีที่แล้ว +1

    can u give us git link?

    • @prakashg1944
      @prakashg1944 4 ปีที่แล้ว

      github.com/mbhave/tdd-with-spring-boot

  • @acertoumisera1208
    @acertoumisera1208 2 ปีที่แล้ว

    Put the git in the comments please.

  • @lolxd3248
    @lolxd3248 5 ปีที่แล้ว

    24:30 Exception Driven Development.

    • @lolxd3248
      @lolxd3248 5 ปีที่แล้ว

      @@HasNoName69 "kobiety do kodu"

  • @premierde
    @premierde 6 ปีที่แล้ว

    Please show how yo test security stuff.

  • @gauravdighe4117
    @gauravdighe4117 6 ปีที่แล้ว

    Do you have source code?

    • @RenannPrado
      @RenannPrado 6 ปีที่แล้ว

      Gaurav Dighe 59:00 they give the link, I haven't tried to access though

  • @vasiliydorofeev1355
    @vasiliydorofeev1355 6 ปีที่แล้ว

    Plz attaché source code

    • @DanielUpdike-j3f
      @DanielUpdike-j3f 5 ปีที่แล้ว

      The git repos are mentioned at the end of the presentation: github.com/mbhave/tdd-with-spring-boot - github.com/sannidhi/tdd-boot-demo

  • @mohammedershadulhaq9865
    @mohammedershadulhaq9865 6 ปีที่แล้ว

    Great presentation. Please do the speak aging with live coding. And please without any library problem. Full and Clean please.

  • @mmddyyyy-his
    @mmddyyyy-his 5 ปีที่แล้ว

    why not restarting the IDE, close/reopen project, maven clean, or searching google

    • @dmitrypotenko4950
      @dmitrypotenko4950 5 ปีที่แล้ว

      Search in google, not knowing the reason of the issue and without the internet, is not the best idea, you know. All other pieces of advice as (mvn clean, close and open) would have hardly helped them as it has nothing to do with reason why maven could not find library in the local repo.

  • @RenannPrado
    @RenannPrado 6 ปีที่แล้ว

    Excelent talk, too bad that internet was a problem

  • @Rohit-ns5tt
    @Rohit-ns5tt 4 ปีที่แล้ว +1

    Marathi Mulgi.👍

  • @BurhanCerit
    @BurhanCerit 4 ปีที่แล้ว

    i want to watch this video but i cannot understand the words its indian accent engilish, i just cannot :S

  • @ekadet7882
    @ekadet7882 4 ปีที่แล้ว

    'RED' is a universal color for danger. 'Restarting an APP' when it misbehaves is the universal solution to fix it. Not trying to even consider doing so is unprofessional. When the presenters were out of their home preparation - they sucked miserably.

  • @andy12829
    @andy12829 3 ปีที่แล้ว

    Brahmins Always Lead .. Proud to be A Brahmin ❤️. Our Samaj is Proud of you Madhura🙏🎉🎉

  • @aliakbarpour6926
    @aliakbarpour6926 6 ปีที่แล้ว

    Good tutorial but not acceptable as successful live coding tutorial because of internet connection scandal or sth in your dependency caching

  • @shaofeiliu9404
    @shaofeiliu9404 6 ปีที่แล้ว

    nick talk, expand my view

  • @jasper5016
    @jasper5016 3 ปีที่แล้ว

    2 people trying to explain but none of them can explain it properly. Very poor presentation.