A testing framework for testing frameworks.
Project description
Anachronos
A testing framework for testing frameworks.
Anachronos is an end-to-end testing framework usable with a wide variety of applications.
To get started, define an ApplicationRunner
which can be used to start your application.
Then, write your test classes by inheriting from anachronos.TestCase
.
How it works
The framework provides access to a special Anachronos
object which is accessible both from the tested application, and from the testing suite.
This object effectively acts as a logger on which assertions can be run afterwards. Anachronos assertions are accessible by using the self.assertThat
method from within a TestCase.
Below is a simple TestCase example taken from the Jivago framework.
import anachronos
from e2e_test.runner import http
from e2e_test.testing_messages import SIMPLE_GET
class SimpleResourceTest(anachronos.TestCase):
def test_simple_get(self):
http.get("/")
self.assertThat(SIMPLE_GET).is_stored()
def test_post_dto(self):
response = http.post("/", json={'name': 'Paul Atreides', 'age': 17}).json()
self.assertEqual('Paul Atreides', response['name'])
if __name__ == '__main__':
anachronos.run_tests()
With the matching application logic :
import anachronos
from e2e_test.app.components.dtos.request_dto import RequestDto
from e2e_test.app.components.dtos.response_dto import ResponseDto
from e2e_test.testing_messages import SIMPLE_GET
from jivago.lang.annotations import Inject
from jivago.wsgi.annotations import Resource
from jivago.wsgi.methods import GET, POST
@Resource("/")
class SimpleResource(object):
def __init__(self):
self.anachronos = anachronos.get_instance()
@GET
def simple_get(self) -> str:
self.anachronos.store(SIMPLE_GET)
return "OK"
@POST
def post_body(self, request: RequestDto) -> ResponseDto:
return ResponseDto(request.name, True)
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
File details
Details for the file anachronos-0.0.7.tar.gz
.
File metadata
- Download URL: anachronos-0.0.7.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2e3b406b00a0ade92f43dec828e43bfb49c951ac1eef029ac0485eff099caf2 |
|
MD5 | 6d094ee3bf3e35522829c9e161176d8f |
|
BLAKE2b-256 | 919dfb20223bacb8140237292ab45570d921224d7bede9b4b508d30f0364c043 |