Package with new powerful TestCases and Assets to test django application fast. TDD is supported
Project description
Django DRY Tests
Package with new powerful TestCases and Assets to test django application fast. TDD is supported
You can find Full Project Documentation here
Workflows
Package
Support
Downloads
Languages
Development
Menu
- Mission
- Open Source Project
- Features
- Requirements
- Development Status
- Install
- Quickstart
- Contributing
Mission
The mission of the Django DRY Tests to design and develop open source python package to test django application
- fast
- with minimal code duplication
- with the ability to use TDD easily
- simple and comfortable
Open Source Project
This is the open source project with MIT license. Be free to use, fork, clone and contribute.
Features
- Special Request, Response and Form classes to simple set test data
- Special SimpleTestCase and TestCase classes with new asserts:
-
- The main asserts is assertTrueResponse and assertTrueForm. You can use this for most cases.
-
- Other special asserts (See more in Full Documentation)
Requirements
Django==4
(Lower versions haven't been tested)- See more in Full Documentation
Development Status
- Package already available on PyPi
- See more in Full Documentation
Install
with pip
pip install django-dry-tests
See more in Full Documentation
Quickstart
To test view
class QuickStartViewSimpleTestCase(SimpleTestCase):
"""
SimpleTestCase example
"""
def test_get(self):
"""
Test Example with django-dry-tests
:return:
"""
# Create Request Model
request = Request(
url='/quickstart/'
)
# Create Response Model to check all view.
# You can set only one param without others to check it.
true_response = TrueResponse(
status_code=200,
context=Context(
keys=['quickstart'], # check that quickstart key in context
values=['Quickstart'], # check that "Quickstart" value in context
items={
'quickstart': 'Quickstart'
}, # check both keys and values in context
types={
'quickstart': str
} # check values types without check values
),
content_values = [
'Quickstart',
'<h1>Quickstart title</h1>'
], # check values after template will be rendered
)
# get url response with Django default Test Client
current_response = request.get_response(self.client)
# Use main assert to run all asserts
self.assertTrueResponse(current_response, true_response)
To test Form
class ExampleFromTestCase(SimpleTestCase):
"""
Example Form Test Class
"""
def test_form(self):
"""
Example Test with django-dry-tests
:return:
"""
true_form = TrueForm( # Set Up TrueForm instance
Fields( # TrueForm Fields
count=2, # check fields count
names=[
'number', 'name'
], # check field names
types={
'name': forms.CharField,
'number': forms.IntegerField
} # check fields types
),
)
current_form = ExampleForm() # Get project form
self.assertTrueForm(current_form, true_form) # use this main assert to check all conditions
More examples in Full Documentation
Contributing
You are welcome! To easy start please check:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-dry-tests-1.0.0.tar.gz
(8.7 kB
view hashes)
Built Distribution
Close
Hashes for django_dry_tests-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 073f2f110d046eeba951957e66089a770b5ccc15be6ab0e38eaadfa9e543c611 |
|
MD5 | 9546f5a660e5a3301313a4a651259d86 |
|
BLAKE2b-256 | a84b15c2c049db844622a94e99fff0eed49e379c65e699d331b0a6bd5a3e4c7d |