Skip to content

BigDataRepublic/testing_for_ds_day_2_bdr

 
 

Repository files navigation


Conda Latest Release PyPI - Python Version wheel Code style Imports: isort

Testing for Data Science

Day 2

This part of the training focuses on implementing tests in your data science project. This training touches upon test coverage, monkeypatching and caching among other topics. See the slides: data\notes\slides_day_2.pptx.

⚡ Installation


1. Virtual Environment

Create a virtual environment for this repo, for instance with Anaconda:

conda create --name testing_for_ds -y python=3.10
conda activate testing_for_ds

You can use the same virtual environment for the whole training. Note: if you just installed anaconda, you might have to initialize your terminal with conda init <SHELL_NAME> and restart your terminal afterwards.

2. Install dependencies

Install the project in develop mode, with:

pip install -e ".[develop]"

This will install all the dependencies listed in requirements.txt and requirements.dev.txt. Have a look at them to get an idea with what we're working.

3. setup pre-commit

We will be using pre-commit for this project, install it with:

pre-commit install

If you commit your code, pre-commit will run some checks. Only if you pass the checks, the commit is completed. For example, it checks whether you've used type-hinting. See .pre-commit-config.yaml for the full configuration.

4. create your own branch

git checkout -b <branch-name>
git push --set-upstream origin <branch-name>

Note: if you run into the error: "The unauthenticated git protocol on port 9418 is no longer supported.", this stackoverflow page might help.

📋 Assignment


After you completed the installation, work yourself through the exercises in the test files: tests\conftest.py and tests\test_<subject>.py. Make sure that you answer the exercises (1 to 8) in the right order.

You've completed the assignment if:

  • You answered all exercises.
  • All the tests pass.
  • The pre-commit steps are successful.
  • You pushed your code to your personal branch.

Please let me know if you have any questions!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%