Package with new powerful TestCases and Assets to test django application fast. TDD is supported
You can find Full Project Documentation here
- Mission
- Open Source Project
- Features
- Requirements
- Development Status
- Install
- Quickstart
- Contributing
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
This is the open source project with MIT license. Be free to use, fork, clone and contribute.
- 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)
Django==4
(Lower versions haven't been tested)- See more in Full Documentation
- Package already available on PyPi
- See more in Full Documentation
pip install django-dry-tests
See more in Full Documentation
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)
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
You are welcome! To easy start please check: