Commit 2797f7c6 authored by Shashank Kumar's avatar Shashank Kumar

Adds testing documentation

Documentation for testing with pylint and pytest has been added in
`docs/developer.md`
parent f70ab7dc
# New Contributor Wizard - Contributor Documentation
### Few Key Points
- In order to build the application from the source provided in this repository or to know more about important files and locations, must read [Developer's Doc](Developer.md).
- Again, read [Developer's Doc](Developer.md) as it's very important that you understand the reason why everything at it's place.
- Always create a Fork of this repository and then start to make changes to the forked repository.
- Once you are satisfied with the changes, create a merge request describing briefly about all the changes you have made.
- Make sure the merge reqeust is atomic, ie. only trying to solve one problem at a time.
- Always write tests, documentations and changelogs (if required) with the changes you make to the project.
# New Contributor Wizard - Developer Documentation
### How To Build
Step 1: Install [Pipenv](https://docs.pipenv.org/)
`$ pip install pipenv`
Step 2: Clone this repository to your local machine
`$ git clone https://salsa.debian.org/new-contributor-wizard-team/new-contributor-wizard`
Step 3: Change location to repository
`$ cd new-contributor-wizard`
Step 4: Install dependencies (this might take a while, grab a cup of coffee)
`$ pipenv install`
Step 5: Run New Contributor Wizard
`$ python main.py`
### Some Important Files/Locations
- `main.py` - It contains the Root Kivy Application which is to run in order to start the GUI.
- `data` - It contains static application data which can be used by application at anytime. It helps when the machine is offine.
- `docs` - This directory should and only contain the documentations for developers, contributors and end users.
- `modules` - This directory should and only contain the application login for different modules integrated to the Root Application. For example, this should contain the source for all application logic the tutorials and tools.
- `tests` - This directory should and only contain the Test written for the application, both for application logic and GUI.
- `UI` - This directory should and only contain the `.kv` files which uses Kivy Language in order to create the widget tree. Hence, making the UI designing easier.
### How To Design
Designing of GUI for this application is explained in [this](https://blog.shanky.xyz/gsoc-2018-week-1-and-2.html) blog.
# New Contributor Wizard - User Documentation
### Download the Application
More description on how you can download and install the application from your package manager will ba available soon. Until then you may want to build the application from source yourself, read [Developer's Doc](Developer.md) to find out more.
......@@ -56,6 +56,24 @@ Step 5: Run New Contributor Wizard
`$ python main.py`
### How To tests
There are two type of testing being done for this application.
- Testing for PEP8 using `pylint`
`$ pipenv run pylint main.py`
`$ pipenv run pylint modules/`
- Testing for unit and integration tests using `pytest`
`$ pipenv run pytest tests/`
- User also has option to check code coverage using `pytest-cov` plugin with `pytest`
`$ pipenv run pytest --cov=modules`
### Some Important Files/Locations
- `main.py` - It contains the Root Kivy Application which is to run in order to start the GUI.
......@@ -68,4 +86,4 @@ Step 5: Run New Contributor Wizard
- `tests` - This directory should and only contain the Test written for the application, both for application logic and GUI.
- `UI` - This directory should and only contain the `.kv` files which uses Kivy Language in order to create the widget tree. Hence, making the UI designing easier.
- `ui` - This directory should and only contain the `.kv` files which uses Kivy Language in order to create the widget tree. Hence, making the UI designing easier.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment