Automated Testing in Python with pytest, tox, and GitHub Actions

Sdílet
Vložit
  • čas přidán 4. 07. 2024
  • Take your Python project to the next level of professionalism.
    Automated testing in Python is an important way to take your Python project to the next level of dependability and professionalism. There are a lot of steps, but it's not too difficult to setup your tests to run automatically across multiple different operating systems and versions of Python whenever you push a commit or receive a pull request on your repository. We show you the entire process, step by step, to take a plain old project and turn it into an installable package with automated tests that run when you push to GitHub. We use pytest, mypy, and flake8 for testing, type checking, and code linting. Then we use tox to run all of these commands in isolated virtual environments. Finally, we use GitHub actions to run tox on a push or a pull request. Automated testing is the first and most important step in the more general world of continuous integration (CI), and continuous delivery or continuous deployment (CD). In this video we focus on automated testing, not on general CI/CD, as there is already PLENTY of material to cover.
    ― mCoding with James Murphy (mcoding.io)
    Source code: github.com/mCodingLLC/SlapTha...
    Other code: github.com/mCodingLLC/VideosS...
    pytest docs: docs.pytest.org/en/latest/
    mypy docs: mypy.readthedocs.io/en/stable...
    flake8 docs: flake8.pycqa.org/en/latest/
    setuptools (setup py and setup cfg) docs: setuptools.readthedocs.io/en/...
    tox docs: tox.readthedocs.io/en/latest/
    GitHub Actions docs: docs.github.com/en/actions
    tox-gh-actions repo: github.com/ymyzk/tox-gh-actions
    SUPPORT ME ⭐
    ---------------------------------------------------
    Patreon: / mcoding
    Paypal: www.paypal.com/donate/?hosted...
    Other donations: mcoding.io/donate
    Top patrons and donors: Laura M, Jameson, John Martin, Dragos C, Vahnekie, Pieter G, Sigmanificient, Casey G
    BE ACTIVE IN MY COMMUNITY 😄
    ---------------------------------------------------
    Discord: / discord
    Github: github.com/mCodingLLC/
    Reddit: / mcoding
    Facebook: / james.mcoding
    CHAPTERS
    ---------------------------------------------------
    0:00 Intro
    1:21 Overview of the video
    2:56 Structuring your project
    8:35 Pytest, mypy, flake8
    10:58 Pytest features
    18:34 Test multiple envs with tox
    21:18 Test on commit with GH Actions
    25:22 Readme badge
    26:34 Thanks
  • Věda a technologie

Komentáře • 350

  • @Jacob011
    @Jacob011 Před 2 lety +650

    Finally someone discussing project setup, directory structure, git workflows etc. There needs to be more videos like this.

  • @Mutual_Information
    @Mutual_Information Před 2 lety +158

    I've been blindly pattern matching for spinning up repos for awhile now and it's nice to see explanations for a lot of those choices. I also didn't realize all the pytest functionality I was missing. I like this longer/more detailed style too - it's necessary for training strong engineers. (Though, not sure if it's the best choice for CZcams growth). Thanks for making this. I'll be recommending it to coworkers.

    • @mCoding
      @mCoding  Před 2 lety +68

      We'll see how this one performs. I already have a pretty sophisticated audience so maybe they'll love it! If not I'm fine with a video tanking now and again, I know some people will still find it useful. Thanks for watching as always!

    • @alexandergazo6064
      @alexandergazo6064 Před 2 lety +10

      @@mCoding man you are the only one with real content, with the aim to teach beyond basics. your structure is awesome. the editing style is top notch. keep it up please. you are great

  • @nathanbrown2640
    @nathanbrown2640 Před 2 lety +103

    Utterly brilliant walkthrough!
    Our company is currently implementing automated testing for a new project and all config requirements have worried me that I have no clue what's going on and would have no clue if stuff went wrong!
    This is so clearly explained and motivated, I feel perfectly equipped to ensure we can implement it all and know all our tests are run!

    • @mCoding
      @mCoding  Před 2 lety +14

      Amazing! I'm so glad I was able to help. Thanks for sharing 👍

  • @shibak4
    @shibak4 Před 2 lety +32

    CZcams is my Netflix when it comes to content related to programming, databases and DevOps, so I go through a ton of content regularly. but this video was one of THE most informative pieces of content I've ever watched. As a lower-intermediate Python programmer, making python apps installable has always been a head-scratcher for me and it hasn't been easy to find content which address almost all aspects of the process with clear guidelines. You just made my life MUCH easier and I thank you for that.

    • @mCoding
      @mCoding  Před 2 lety +1

      Glad I could help! Thanks for sharing.

  • @JB1RD367
    @JB1RD367 Před 2 lety +36

    The perfect amount of info to get started with automated testing. Thank you!

    • @mCoding
      @mCoding  Před 2 lety +2

      Glad you enjoyed it! Thanks so much for the kind words!

  • @user-en2ct8ql4g
    @user-en2ct8ql4g Před 5 měsíci +1

    This is great, I agree, finally someone talking about how to package a python project

  • @therealplnts8533
    @therealplnts8533 Před 2 lety +25

    Was literally trying to figure out testing for the past week, its like you know exactly what I'm struggling on!
    Great video as always

    • @mCoding
      @mCoding  Před 2 lety +3

      Great to hear I was able to help (again?)! 😀

  • @tim-timman8868
    @tim-timman8868 Před 2 lety +25

    Thank you for this great resource into the current mess of python packaging. It's something I've spent many hours trying to figure out, and now I know I missed a bunch. And with you handing a test setup on a silver platter, I now have no excuse to bring with formal testing.
    Once again, thank you. I really liked the longer format (when required) and am happy you didn't chop it up into parts.
    I would be really interested in similar in-depth videos on the things you mention in the video overview for example. If you could make a video on how to create a Python wrapper for a C library, I would be ecstatic.

    • @mCoding
      @mCoding  Před 2 lety +4

      You're welcome! Noted on those suggestions. I have a huge list of stuff to get to ... eventually 😀

  • @tushargupta764
    @tushargupta764 Před 2 lety +17

    This will be a great reference video, somewhat like a good stack overflow answer you keep referring :)

    • @mCoding
      @mCoding  Před 2 lety +3

      Thanks for the kind words!

  • @shreydixit2690
    @shreydixit2690 Před 2 lety +17

    This is by far your most advanced tutorial. Too much info in a single video but still super helpful. Thanks !

    • @mCoding
      @mCoding  Před 2 lety +14

      Don't feel like you have to watch it all at once. I see this very much as reference material that you can go back to over and over to get the bits you need. Thanks for watching!

    • @raffe01fu
      @raffe01fu Před 2 lety

      @@mCoding I think this is great, that is just how i have / is currently using it. I have a small library mostly for internal use and can only fit in some time here and there for doing work on it. So this tutorial has taken a few weeks to test out and implement. But now i will feel much better doing changes to the library as i can much easier catch if (when) i break something. Cheers!

  • @LucasSilva-jd2bf
    @LucasSilva-jd2bf Před 2 lety +13

    Please make more videos like this. I've been having a lot of trouble when it comes to creating a github project. It's hard to find resources on project structure, git workflow, package structure, versioning, etc. If possible, it would be nice if you could create a series showing how to create and maintain a github repo. I want to understand how to increase versions, how to review pull requests and issues, how to write a good commit message, how to create tags/releases, how to create a documentation, and much more.

  • @NotoriousPyro
    @NotoriousPyro Před 2 lety +2

    Project name: "Slap that like button" *with a characteristic look at the viewer LOL.
    You have really good oration. And good video, having recently implemented a lot of CI/CD stuff including this within the company I work for, it is great to see great tutorials on how to do this for others.
    Also, the great thing about fixtures is you can also return functions and classes and pass the parameters into that function inside the fixture by calling the fixture like fixture_name(args for the inner function of the fixture) or with a class you can also do fixture_name(args).method

    • @mCoding
      @mCoding  Před 2 lety

      Thanks for your kind words. Glad you found my video useful!

  • @pwned4323
    @pwned4323 Před 2 lety +4

    The quality of this content *Chef's kiss*

  • @grelyelo
    @grelyelo Před 2 lety +4

    This essentially was my experience doing this for work, except I didn't have this video explaining everything and had to rely on the python documentation. Thanks a bunch!

    • @mCoding
      @mCoding  Před 2 lety +2

      I will probably use it as a reference for myself in the future 😉

  • @PhilippGrafendorfer
    @PhilippGrafendorfer Před 2 lety +2

    one of the most important python tutorials I have ever seen. It covers a wide range of daily problems as python programmer.

    • @mCoding
      @mCoding  Před 2 lety

      Wow thank you! Glad you enjoyed 😀

  • @marksawyer3369
    @marksawyer3369 Před rokem

    I was originally only looking for CZcams videos on pytest. With this video I found much more and it answered many questions that I have had regarding tox and GitHub integrations.
    Great video ... 👍👍👍

  • @OnceARider
    @OnceARider Před 2 lety

    This is what I was looking for. Many thanks for covering these topics. I was specifically looking for how to install local package in current env, finally someone explained.

  • @dylanalexander5163
    @dylanalexander5163 Před rokem +1

    The discussion on the project structure was fantastic, really insightful. It such an important aspect of a Python project, yet you don't see much information on it.

  • @oxey_
    @oxey_ Před 2 lety +2

    This is pretty incredibly actually. I've done some very basic tests in the past, but never as complete or solid as this, not even close, thanks for this!

    • @mCoding
      @mCoding  Před 2 lety

      You're welcome, and thanks for the kind words.

  • @mbkhan1000
    @mbkhan1000 Před 2 lety

    best video on distilling all the different configuration files and why they are all needed - thanks for this!

  • @dirtydan698
    @dirtydan698 Před 2 lety +19

    Good God...
    So many config files

    • @danielgysi5729
      @danielgysi5729 Před 2 lety +8

      Remember when Python was supposed to be simple and high level? Lol, what a mess

    • @mCoding
      @mCoding  Před 2 lety

      Enjoy ;)

  • @ManuelBTC21
    @ManuelBTC21 Před 2 lety +8

    Example code should be exemplary. I think you've done a good job.

  • @SudiptaKarmakar87
    @SudiptaKarmakar87 Před 2 lety +2

    This is one of the best and most complete python test setup guide I have ever seen in text or video form. While I knew about all the things mentioned here, your clear and incremental explanation has definitely helped me refresh everything and their interconnections. I am going to point every newbie (to testing) to this video hereafter. Thank you.

    • @mCoding
      @mCoding  Před 2 lety

      Thank you very much i appreciate the recommendation!

  • @raccoonteachesyou
    @raccoonteachesyou Před 2 lety +2

    Thank you very much, the video is clear, it goes through multiples subject deep enough to be useful, but not deep enough to get a too long video.
    Also, the rythm is very cool, you don't get bored, you go point by point, and it's a good pace.
    Again, thanks !

    • @mCoding
      @mCoding  Před 2 lety

      You're welcome! Glad you enjoyed it.

  • @yoannprigent5503
    @yoannprigent5503 Před 2 lety +1

    Thank you for this video, goes exactly at the right pace and gives the right amount of info. I've been struggling to setup this "testing" while coding setup (coding is not my specialty, but in mechanical engineering it's becoming unavoidable nowadays to automate more and more parts of our job). You've given me a much clearer picture of what to do and how to do it. Will definitely share this to my colleagues, great job!

    • @mCoding
      @mCoding  Před 2 lety

      Happy to help! Thanks for watching!

  • @joem8251
    @joem8251 Před 2 lety +1

    I love this subject and I love this video.
    I'm glad this guy happened to make it a week ago, because it happens to be just what I need, when I need it. I'm stubbornly committing to TDD best-practices in my projects as I currently polish a template for my pytests.

  • @adrianperez8695
    @adrianperez8695 Před 2 lety +1

    I recently moved to a new company that uses Python for it's automated tests suites. I've had to spin up very quickly and your videos have been very helpful. Thank you for making these!

    • @mCoding
      @mCoding  Před 2 lety

      Great to hear! Best of luck at your new company!

  • @teresodra
    @teresodra Před 2 lety

    I have been a month looking for this video. Thanks for explaining how to properly create and install a package.

    • @mCoding
      @mCoding  Před 2 lety

      You are very welcome! I'm glad it was useful to you.

  • @aleale550
    @aleale550 Před 2 lety +3

    Really solid and easy to follow walkthrough, I really enjoy your clear and concise style.

    • @mCoding
      @mCoding  Před 2 lety +1

      Thanks so much for the kind words!

  • @konstagold
    @konstagold Před 2 lety +1

    This is a great guide. I've done parts and pieces of this before, but this really helped put it all together.

    • @mCoding
      @mCoding  Před 2 lety +1

      Awesome so happy to help!

  • @HubertRozmarynowski
    @HubertRozmarynowski Před rokem +1

    This is one of the most important python-related videos on the internet. Please do more long tutorials covering complex topics

    • @mCoding
      @mCoding  Před rokem

      Thank you for noticing! This is probably my most useful video (so far) in my opinion, but preparing and recording takes forever! Feel free to suggest other topics you are interested in.

  • @laxlyfters8695
    @laxlyfters8695 Před 10 měsíci

    This video needs to be at millions of views this is the subtle additions to projects that add more depth to any code base and more to talk about during interviews and help you in sdnet QA and even site infrastructure developer

    • @mCoding
      @mCoding  Před 10 měsíci

      We're on our way! Tell your friends and coworkers 😀

  • @vitaliimorskyi
    @vitaliimorskyi Před 2 lety

    That was a lot of pure content. Just perfect! Subscribed: D
    Good luck, I believe in you ;)

  • @soyciro4623
    @soyciro4623 Před 2 lety

    Truly great and quality content.
    There should be more videos about this kind of topics.
    Please, more on this! Thanks

  • @alaapsarkar
    @alaapsarkar Před 2 lety +5

    Thanks a lot, this helped me in many ways. I'm currently working as a software developer but new to this field. And I did slap that like button.

  • @ramiboutas
    @ramiboutas Před rokem

    wow, you simplified a lot this complicated topic. Many thanks!

  • @TimoRJensen
    @TimoRJensen Před rokem

    Holy shoot! Sooo many Nuggets in here! Thanks a lot! Very much appreciated!

  • @dexterovski
    @dexterovski Před 2 lety

    Great video! This is one of those topics many people have wondered about but haven't explored themselves.

    • @mCoding
      @mCoding  Před 2 lety +1

      Glad you enjoyed it!

  • @rahulmistri1997
    @rahulmistri1997 Před 2 lety +1

    Exactly what I needed. Detailed & concise

  • @victornoagbodji
    @victornoagbodji Před 2 lety

    Excellent walkthrough! 😊 Thanks for describing the current state of affairs and where things are headed. I hope we don't end up in a situation where this gets so complex that it drives new comers away from Python. I am already on the fence when it comes to the type hint craziness.

  • @TheCarmacon
    @TheCarmacon Před 2 lety

    This video is gonna give me a raise. Absolute gold!

    • @mCoding
      @mCoding  Před 2 lety

      If you get a raise from this video be sure to become a Patron, I think deserve it at that point 😉

  • @sebastiandix2280
    @sebastiandix2280 Před 2 lety

    I am very grateful for this video because this is when all the setuptools pyproject.toml setup.py setup.cfg etc. finally made sense to me, aside from the actual automated testing :-)

  • @jakemuff9407
    @jakemuff9407 Před 2 lety +1

    This is very cool and interesting. As a physics student I mainly just plug and play but good to know about all of this, especially that it seems just as 'fiddly' as using a makefile or cmake with C/C++ and external libraries.

  • @PratheeshPrakash
    @PratheeshPrakash Před 2 lety

    Thank you so much. This is precisely the video I was looking for.

  • @guiorgy
    @guiorgy Před 2 lety +2

    This is a great guideline for getting started! Thanks a lot!

    • @mCoding
      @mCoding  Před 2 lety +1

      You're welcome thanks for watching!

  • @Austin-hm6qq
    @Austin-hm6qq Před 2 lety +1

    Absolutely bookmarking this for the future. You just saved future me probably weeks of work

    • @mCoding
      @mCoding  Před 2 lety

      I still go back and watch it myself from time to time! Always good to write things down!

  • @sinat236
    @sinat236 Před 2 lety

    Thank you a lot @mCoding, it was a well-structured tutorial. It would be very fantastic if you make an additional tutorial that covers automated testing on Gitlab.

  • @olearydj
    @olearydj Před 2 měsíci

    Outstanding video. The only people that say package management is the worst part of python are those that haven’t tried to decipher the topics you cover in this video. Might be time to revisit as the landscape is changing quickly. Also, more of this is welcome!

  • @Andrewlstewart
    @Andrewlstewart Před 2 lety

    Excellent video. I would love to see more content explaining things like setting up your longest_increasing_subsequence repository as well. Keep up the great content!

  • @jacobwalters9660
    @jacobwalters9660 Před 2 lety

    Wow thank you so much for pulling these topics all together

    • @mCoding
      @mCoding  Před 2 lety

      You are very welcome!

  • @shrirangmahajan9502
    @shrirangmahajan9502 Před 2 lety +1

    Excellent video man, so clear and thorough.

    • @mCoding
      @mCoding  Před 2 lety +1

      Thank you very much, glad you enjoyed!

  • @winnumber101
    @winnumber101 Před rokem +1

    the setup cfg work that allows you to traverse across different directories to get & apply code had been so difficult for me to find concise information on (I didn't want to do any os.dir nonsense, just wanted to make my project into a recognizable package)
    you explained it so well & so quickly, that's more than I could've asked for

    • @mCoding
      @mCoding  Před rokem

      Very glad I could provide some help!

  • @ErdiTk
    @ErdiTk Před 2 lety

    Really awesome video! Great great job. The only thing I think would be nice to add is that is a good practice to check your test fails first, then make it work. Moreover few words about the test-driven development would've been good, but I understand would've opened a way bigger topic.

  • @jesse9999999
    @jesse9999999 Před rokem

    Great video and I have made a lot of use of it setting up tests for my company, so thank you deeply - I would have spent many weeks trying to learn these concepts without this resource. If I could recommend one follow up video, it would be on storing secrets in your github environment and accessing them in your code as this is the only missing link that would make this presentation whole. Thank you again!

  • @ifeanyinneji7704
    @ifeanyinneji7704 Před rokem

    Very informative tutorial and glad to know I've been implementing these processes in my current projects with effectiveness 😅

  • @vinvic1578
    @vinvic1578 Před 2 lety +1

    This is exactly what I needed. Thanks so much !

    • @mCoding
      @mCoding  Před 2 lety +1

      Great to hear you found it useful! 😀

  • @kicknotes
    @kicknotes Před rokem

    Great video. A good amount of substance in under 30m... Deep enough without going too deep.

  • @rushen8148
    @rushen8148 Před 2 lety

    Thanks for a video! All of your videos are awesome! Keep making it.

    • @mCoding
      @mCoding  Před 2 lety

      You're very welcome and thank you for your kind words!

  • @leuropeocs2
    @leuropeocs2 Před rokem

    Thats amazing man... thanks for the tutorial!

  • @arisweedler4703
    @arisweedler4703 Před 2 lety +1

    Awesome! So understandable and straightforward

    • @mCoding
      @mCoding  Před 2 lety +1

      Glad to hear you liked it! Thanks for watching!

  • @stevenicholes5649
    @stevenicholes5649 Před rokem

    This guide helped a lot and was very well done. Thanks!

  • @Maric18
    @Maric18 Před 2 lety

    i had to cobble this knowledge together from documentation of all the features piece by piece over the course of a day
    and you just did it in half an hour (less, since i actually already had unittests) :D

  • @sany2k8
    @sany2k8 Před 2 lety

    You're a star as always, eagerly waiting for you new videos

  • @rahulgandharva7325
    @rahulgandharva7325 Před 2 lety +3

    OMG, this is going to make my life is much easier, thank you.

  • @andreitudorache3049
    @andreitudorache3049 Před rokem

    Lost count of how many times I referenced, searched and shared this video with other people.

  • @CarelessMiss
    @CarelessMiss Před 2 lety +12

    Thank you, very useful!

  • @nhattran536
    @nhattran536 Před 2 lety

    Amazing tutorial - comprehensive coverage and clear explanations. Thank you sir.

  • @kilinw
    @kilinw Před 10 měsíci

    This is insanely good OMG

  • @StoneyVintson
    @StoneyVintson Před 2 lety +1

    An excellent companion video would be a docker file that includes the repo in this package and talks to a docker postgresql instance. I currently use a Makefile to document commands and make development easier. Such as mounting a local directory for daily development.

  • @whamer100
    @whamer100 Před 2 lety

    thanks to this, im finally feeling confident enough to release this one project I've been working on for reading binary data for fun. I've also just now realized how tedious getting testing to work can be, 14 commits later it works on all devices (3.8+ though because i guess Literal types are pretty new)

    • @mCoding
      @mCoding  Před 2 lety +1

      Awesome thanks for sharing!

  • @Supakills101
    @Supakills101 Před rokem

    Extremely helpful video thank you, your channel is a goldmine for me.

  • @abzrg
    @abzrg Před 6 měsíci

    Thanks for this very nice tutorial!
    I wanna also learn all the things that you mentioned that you're not gonna discuss them in this video.

  • @adrianlazar3120
    @adrianlazar3120 Před 2 lety

    Amazing content as always!

  • @matteobarnaba6518
    @matteobarnaba6518 Před 2 lety +1

    Your videos are simply great!!! Congratulations!!

  • @prnva_
    @prnva_ Před 3 měsíci

    Amazing walkthrough!

    • @mCoding
      @mCoding  Před 3 měsíci +1

      Thanks! It might be about time to update it... !

  • @hassaanalansary
    @hassaanalansary Před 2 lety

    Great video, this will be my resource for setting up any project automation
    Perfect amount of information.
    Amazing work, keep it up.

  • @malayagr
    @malayagr Před 2 lety +7

    Last time I was this early, my tests were still failing.

  • @rau149
    @rau149 Před 2 lety

    Yey nice work! Thank you

  • @mahdihosseinali7492
    @mahdihosseinali7492 Před 2 lety

    This video has a lot of useful content which is very rare these days

  • @suryaya441
    @suryaya441 Před rokem

    Thanks. I used `unittest` but this guide worked well enough.

  • @Khushpich
    @Khushpich Před 2 lety

    Awesome video, we need more videos about good software development practices

  • @jacanchaplais8083
    @jacanchaplais8083 Před 2 lety

    This was very good, many thanks!

  • @davidmcdermott8259
    @davidmcdermott8259 Před 2 lety +1

    This is very useful information. Thank you. It would be great to also see automated documentation via sphinx or another alternative.

  • @pahvalrehljkov
    @pahvalrehljkov Před 2 lety

    this was so clear and comprehensive...

  • @bernardyegon4659
    @bernardyegon4659 Před 9 měsíci

    Great content, I liked it! I have been looking for CZcams videos with pytest for unit tests in ML as part of the project setup. Thanks!

  • @konso1
    @konso1 Před 2 lety

    This was awesome. Thank you!

  • @sevdalink6676
    @sevdalink6676 Před 2 lety

    I was looking on Udemy for some python testing courses. Then I found your video on youtube - I do not need Udemy anymore :D Thanks for the great video.

  • @ketanpurohit9086
    @ketanpurohit9086 Před rokem

    Good job mCoding.. more like this on pytest, hypothesis, asyncio, flask etc.. punchy, high signal to noise ratio. Well done. Have subscribed.

  • @Taddy_Mason
    @Taddy_Mason Před rokem

    Awesome material!

  • @markchadwick77
    @markchadwick77 Před rokem

    Great tutorial! So much information.

  • @omerfi
    @omerfi Před rokem

    Awesome video, thanks a lot !

  • @VojtechMach
    @VojtechMach Před 2 lety +1

    Your content is incredibly valuable and packed with useful information. Thank you.
    My humble wish: a video on asynchronous python with your excellent explanation would be great :)

    • @mCoding
      @mCoding  Před 2 lety

      Thank you very much! Async has been on the horizon for a long time, I'm thinking about it!

    • @sorvex9
      @sorvex9 Před 2 lety

      Until that happens, i can recommend Sebastiaan Mathôt video on async python. It's short, to the point and he is very good at explaining things in simple manners.

  • @a_mortal7511
    @a_mortal7511 Před 2 lety

    Great tutorial.
    Thanks 👍👍👍

  • @arthurcpiazzi
    @arthurcpiazzi Před rokem

    This video is a gem 💎 congratulations

  • @yash1152
    @yash1152 Před 4 měsíci

    thanks a lot for this video.
    4:14 & 7:37 > _"For automated testing, tests should run"_ [regardless the location of our source. Which's achieved by installing the project itself as a package.]
    i didn't understand the "import" part of the test_*.py files before, and got stuck there when i tried on my own several months ago.
    but this above part clears soo many things and i finally got my python pytests to work. thanks a lottttt again.
    i came here from binge watching ur latest video on python debugging. it just so happened that i was just restarting my python devt journey this time & was actually searching for some resource on pytest myself as the official doc didn't help at all. so, thanks for tooting this video there too.

    • @yash1152
      @yash1152 Před 2 měsíci

      not to self:
      * for applications using CLI arguments, do NOT use sys.argv directly.
      * use it via the formal parameter to the function (and set that to None by default).
      * this is similar to how c/java have `String[] args` as their formal parameter. oh lol, yet another approach combined from c.
      * this would allow that function to be called programmatically.
      * ... which makes writing tests for it easier and running 'em _much much_ faster.

  • @daviddunleavy187
    @daviddunleavy187 Před 2 lety

    This video is excellent :) Hope you make more like this!

    • @mCoding
      @mCoding  Před 2 lety +1

      Thank you! Will do!

  • @ApiolJoe
    @ApiolJoe Před 2 lety +1

    The video was super useful so I SLAPPED LIKE NOW!

  • @duke007x3
    @duke007x3 Před 2 lety

    Great, tnx! Please more about pytest)

  • @stoobe
    @stoobe Před 4 měsíci

    awesome video! thanks!

  • @johnburke8337
    @johnburke8337 Před 2 lety +1

    I saw your poll about this being long. Long was the right choice

    • @mCoding
      @mCoding  Před 2 lety +1

      Thanks, I imagined a few ways of cutting it up but they just didn't make as much sense to me. I'm glad I went with this version (even though it's probably not going to get as many views, I think it's worth it).