Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TESTING.md] Enhance TESTING docs #2611

Merged
merged 56 commits into from
Oct 21, 2021
Merged

[TESTING.md] Enhance TESTING docs #2611

merged 56 commits into from
Oct 21, 2021

Conversation

J08K
Copy link
Member

@J08K J08K commented Sep 28, 2021

Heya people,

This is what I've been working on till now. It was quite a lot of writing, so please take your time in reading it. I would love to know what you think of it. Currently the images are not properly showing up in the markdown files, because they are not on GitHub yet. Will fix that before merging the PR.

This will resolve #2560.

Currently what's done:

  • TESTS.md (docs)
    • Pytest documentation (install, running, failing, debugging).
    • Adding pytest to path. Some notes on that down below.
    • Pytest config file
  • TOOLS.md (docs)
    • Virtual environments
    • Editors and IDEs
      • VS Code (important)
      • Pycharm (important)
      • Spyder IDE (important)
      • Sublime (low-priority)
      • JupyterLab (low-priority)
    • Add images for most important parts.
  • Shared testing file
    • Updated and removed unnecessary things.
    • Links now refer to our documentation.

Adding to path

In TESTS.md I wanted to add a part about adding the pytest module to path, because this does not automatically happen on a lot of python installations. I am now wondering if this is really necessary, so I'd like to ask the community here. Editing your environment variables is not tricky, but if you do screw it up it has bad repercussions. Which is both a valid point against and supporting having good instructions for how to do it. My other thought was if it was really necessary for us to add it in. People can otherwise look it up themselves.
Let me know what you think.

Ended up only adding the Windows tutorial for now, most of the time it seems work on Linux and Mac out-of-the-box. Not a priority.

The PR is not done yet, but I just wanted to get some feedback first before finishing it entirely.
Thanks!

@J08K J08K requested a review from BethanyG September 28, 2021 19:14
Copy link
Contributor

@squeakyboots squeakyboots left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking the time to put this together @J08K !

The testing document seems to cover things nicely enough, though that is coming from the perspective of someone having already installed pytest and likely not really leveraging all it has to offer (I still just hit the play button in PyCharm to run the tests).

As far as tools go I wish I had started using tools like PyCharm or VS Code earlier than I had so it's great to see a page like this where new users might see it =D

Personally I'm a huge fan of PyCharm, but after some thought and in consideration of the context I'm happy with seeing VS Code given a little more preference in the hierarchy, given that it's lighter and more language agnostic than the full blown IDEs. I think that makes it more in line with Exercism's promotion of learning multiple languages while at the same time checking all the boxes for general use with Exercism (linter, debugging, formatting).

I think it might be worth mentioning in the description that since it's a code editor as opposed to a full blown IDE it takes less system resources and loads faster while still having all the features needed to enjoy Exercism:
"Visual studio code (VS Code) is a code editor created by Microsoft. It is not specialized to work for a specific programming language, but to be an editor that can do everything. You can extend the editor using extensions, but it comes with some great extensions as well. While VS Code may not be as feature rich as a language specific IDE it has everything needed to enjoy Exercism to its fullest, tends to be less complicated, takes up less system resources, and due to its smaller size usually launches faster too."

Or maybe under the header for IDEs and code editors mentioning the difference (more features, bigger and sometimes slower vs only the features needed, smaller and oftentimes faster)?

docs/TOOLS.md Outdated Show resolved Hide resolved
@J08K
Copy link
Member Author

J08K commented Sep 29, 2021

Hey, @squeakyboots thank you for your feedback!
I'd love to add something about an editor like VS Code being more lightweight into the file. Although my point of writing the TOOLS.md file is to just do a showcase of different tools used by a large proportion of our maintainers and contributors on the Python track. So if we would add "VS Code is better performant than PyCharm" It could probably be mistaken for endorsement.

I could add a piece about the difference between an Editor and an IDE, but the file is not meant for students to decide what environment they are gonna use. It is about extending the environment they already have.

@J08K J08K requested a review from BethanyG September 30, 2021 13:08
docs/TESTS.md Outdated Show resolved Hide resolved
docs/TESTS.md Outdated Show resolved Hide resolved
docs/TESTS.md Outdated Show resolved Hide resolved
docs/TESTS.md Show resolved Hide resolved
docs/TESTS.md Outdated Show resolved Hide resolved
docs/TOOLS.md Outdated Show resolved Hide resolved
docs/TOOLS.md Outdated Show resolved Hide resolved
docs/TOOLS.md Outdated Show resolved Hide resolved
exercises/shared/.docs/tests.md Outdated Show resolved Hide resolved
exercises/shared/.docs/tests.md Outdated Show resolved Hide resolved
J08K and others added 6 commits October 2, 2021 17:56
Co-authored-by: Isaac Good <[email protected]>
Co-authored-by: Isaac Good <[email protected]>
Co-authored-by: Isaac Good <[email protected]>
Co-authored-by: Isaac Good <[email protected]>
Co-authored-by: Isaac Good <[email protected]>
Co-authored-by: Isaac Good <[email protected]>
docs/TESTS.md Outdated Show resolved Hide resolved
docs/TESTS.md Outdated Show resolved Hide resolved
docs/TESTS.md Outdated Show resolved Hide resolved
docs/TESTS.md Outdated Show resolved Hide resolved
docs/TESTS.md Outdated Show resolved Hide resolved
docs/TOOLS.md Outdated Show resolved Hide resolved
docs/TOOLS.md Outdated Show resolved Hide resolved
docs/TOOLS.md Outdated Show resolved Hide resolved
docs/TOOLS.md Outdated Show resolved Hide resolved
docs/TOOLS.md Outdated Show resolved Hide resolved
Copy link
Member

@BethanyG BethanyG left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Woot! 🌟 @J08K -- this is an excellent rundown, and a great base to build on. Thank you so much for taking this on! I've left a few comments. Most are suggestions (except the venv one). Let me know if you have questions or issues. Otherwise, change, merge and celebrate! 🎉 🌈

@BethanyG BethanyG added the do not merge 🚧 Don't merge until this label is removed. label Oct 13, 2021
@BethanyG
Copy link
Member

Note to other reviewers: Please refrain from merging this. @J08K should take one more look before doing the honors. Thanks!

@BethanyG BethanyG added the x:size/large Large amount of work label Oct 13, 2021
@BethanyG
Copy link
Member

venv docs

@BethanyG BethanyG added x:size/massive Massive amount of work and removed x:size/large Large amount of work labels Oct 15, 2021
@J08K J08K merged commit 69bb569 into exercism:main Oct 21, 2021
@ynfle
Copy link
Contributor

ynfle commented Oct 21, 2021

👏 🚀 Great job!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
x:size/massive Massive amount of work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[TESTING.md] Enhance TESTING docs with Editor/IDE-Specific Tweaks & Tips
6 participants