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
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?
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.
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.
How to define test dependencies?
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.
Thanks, it was really helpful! I've just learnt this TDD thing and wanted to try and implement it myself in my hobby project.
intro is sooo good! I would buy for a ringtone!
It's in the video description
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.
Dude, i am studying at ITMO in Russia, and I really want to thank you for the video, python tests are my homework)
Which in your opinion is better, unittest or pytest?
Pytest offers more functionality and its more intuitive for me. I use it for WebDev within Selenium.
Awesome tutorial. Thanks :)
this is really well done thank you. I would love it you did more on TDD
How to do this but with notebooks?
magic mocks and patch next?
would the statement if not instanace(x, int) and not instance(x, float) be always false in the case of a number?
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
Where is vim😢
Thx_.
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
but if we follow SOLID Principles from start , we can control outdated issues
@@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.
@@no-wl4qwyupp
@@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.
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).