Test-Driven Development in Python: Test First Code Later

Поделиться
HTML-код
  • Опубликовано: 30 сен 2024
  • Today we learn about test-driven development and how to easily do it in Python.
    ◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
    📚 Programming Books & Merch 📚
    🐍 The Python Bible Book: www.neuralnine...
    💻 The Algorithm Bible Book: www.neuralnine...
    👕 Programming Merch: www.neuralnine...
    💼 Services 💼
    💻 Freelancing & Tutoring: www.neuralnine...
    🌐 Social Media & Contact 🌐
    📱 Website: www.neuralnine...
    📷 Instagram: / neuralnine
    🐦 Twitter: / neuralnine
    🤵 LinkedIn: / neuralnine
    📁 GitHub: github.com/Neu...
    🎙 Discord: / discord

Комментарии • 27

  • @zackplauche
    @zackplauche 10 месяцев назад +4

    One question from the beginning: How is building a calculator class the first step if you're supposed to write your test first then code?

  • @mehdimojaradi
    @mehdimojaradi 10 месяцев назад +5

    I have been waiting for this concept with your elequent way of teaching.
    Thanks indeed not only for this episode but also for all other ones.

  • @ScriptRaccoon
    @ScriptRaccoon 10 месяцев назад +2

    I prefer using pytest since I don't have to write the boilerplate as with the unittest module. Also, the combination with pytest-cov gives nice coverage reports.

  • @zapy422
    @zapy422 4 месяца назад

    How to define test dependencies?

  • @jparks6544
    @jparks6544 8 месяцев назад

    If you are going to do this type of thing, you should really use the testing package that is the most popular. unittest is VERY old.

  • @13137713
    @13137713 8 месяцев назад

    Thanks, it was really helpful! I've just learnt this TDD thing and wanted to try and implement it myself in my hobby project.

  • @pablocastaneda4021
    @pablocastaneda4021 8 месяцев назад +1

    intro is sooo good! I would buy for a ringtone!

    • @definite_d
      @definite_d Месяц назад

      It's in the video description

  • @NLCircle
    @NLCircle 10 месяцев назад

    NeuralNine, thank you for another high quality, conchise and clear introduction to a Python feature. Extremely helpful and I like to comment you for the way you break down the 'problem' and turn it into a tutorial on how to approach this myself.

  • @ВладиславСосискин
    @ВладиславСосискин 10 месяцев назад

    Dude, i am studying at ITMO in Russia, and I really want to thank you for the video, python tests are my homework)

  • @arkadiuszpaterak
    @arkadiuszpaterak 10 месяцев назад +1

    Which in your opinion is better, unittest or pytest?

    • @krzysiekkrzysiek9059
      @krzysiekkrzysiek9059 10 месяцев назад +2

      Pytest offers more functionality and its more intuitive for me. I use it for WebDev within Selenium.

  • @donewithwork
    @donewithwork 10 месяцев назад

    Awesome tutorial. Thanks :)

  • @BrandonNewell222
    @BrandonNewell222 10 месяцев назад

    this is really well done thank you. I would love it you did more on TDD

  • @holthuizenoemoet591
    @holthuizenoemoet591 10 месяцев назад +3

    How to do this but with notebooks?

  • @JorgeEscobarMX
    @JorgeEscobarMX 10 месяцев назад

    magic mocks and patch next?

  • @holthuizenoemoet591
    @holthuizenoemoet591 10 месяцев назад

    would the statement if not instanace(x, int) and not instance(x, float) be always false in the case of a number?

    • @TheMCEnthusiastPlays
      @TheMCEnthusiastPlays 10 месяцев назад

      it sorta depends on your definition of a number, but yes, usually the statement will be false if you pass a valid number for x.
      this /may/ not always be true though. if you're using numpy, or another library that includes different classes for representing numbers other than the built-ins, you could find yourself in a situation where you're expecting a default float and you pass it a numpy.double and you would raise a TypeError.
      you should not run into this problem a whole lot, since you should know what data types you're passing as arguments, but if you're learning a new library or you're just working on some funky code with weird numerical types, but it's something worth paying attention to

  • @TianMuYe
    @TianMuYe 10 месяцев назад

    Where is vim😢

  • @philtoa334
    @philtoa334 10 месяцев назад

    Thx_.

  • @duftcola
    @duftcola 10 месяцев назад +5

    I have to say that while in theory this a good way of making things I find often that testing doenst allow you to keep up the speed of the project and at the I just end up running the application and see what crashes and a folder full of unitest that became outdated

    • @GSK-Tech
      @GSK-Tech 10 месяцев назад

      but if we follow SOLID Principles from start , we can control outdated issues

    • @no-wl4qw
      @no-wl4qw 10 месяцев назад

      ​@@GSK-Techfollow the principle would make those unitests still valid, but it's coverage is so little as the project grow so fast that you won't able to make test for every unit.

    • @chriskeo392
      @chriskeo392 10 месяцев назад

      ​@@no-wl4qwyupp

    • @GSK-Tech
      @GSK-Tech 10 месяцев назад

      @@no-wl4qw thats the reason we implement design Architectures and divide things in modules if our project is too large.
      Yes it turns into complex file and trees but everything is loose coupling and easy to refactor.

    • @ScriptRaccoon
      @ScriptRaccoon 10 месяцев назад

      This is not a problem with unit testing. It shows that unit testing hasn't been properly implemented in the team. Otherwise you would not suddenly have failing tests (of course, they should run in the CI, and all new features get tests).