Testoot¶
Testoot is the main logic class for testing. It’s configured by storage, serializer and canonize policy.
-
class
testoot.pub.
BaseTestoot
(storage: testoot.base.TestootStorage, serializer: testoot.base.TestootSerializer, canonize_policy: testoot.base.CanonizePolicy, comparator: Optional[testoot.base.Comparator] = None)[source]¶ Main logic object. Can test and canonize data.
-
__init__
(storage: testoot.base.TestootStorage, serializer: testoot.base.TestootSerializer, canonize_policy: testoot.base.CanonizePolicy, comparator: Optional[testoot.base.Comparator] = None)[source]¶ Constructor
- Parameters
storage – storage instance
serializer – serializer instance
canonize_policy –
controls behavior when we met result test conflict.
testoot.pub.NoCanonizePolicy
always raises an error in assert.testoot.pub.AskCanonizePolicy
with –canonize pytest flag asks user approval for canonizing. If user refuses it skips for later and raises an error in assert then.
comparator – comparison for objects
-
property
canonize_policy
¶
-
clone
(*, storage: Optional[testoot.base.TestootStorage] = None, serializer: Optional[testoot.base.TestootSerializer] = None, canonize_policy: Optional[testoot.base.CanonizePolicy] = None, comparator: Optional[testoot.base.Comparator] = None)[source]¶
-
property
storage
¶
-
test
(obj: any, context: testoot.base.TestootContext, suffix: Optional[str] = None, file_type_hint: Optional[testoot.base.FileType] = None, comparator: Optional[testoot.base.Comparator] = None, serializer: Optional[testoot.base.TestootSerializer] = None)[source]¶ Tests object.
- Parameters
obj – test object
context – test context
suffix – test suffix for making a few tests in one context
file_type_hint – override serializer hint for file
comparator – custom comparator override
serializer – custom serializer override
- Returns
-
test_filename
(filename: str, *, context: testoot.base.TestootContext, comparator: Optional[testoot.base.Comparator] = None, serializer: Optional[testoot.base.TestootSerializer] = None)[source]¶ Tests file generated by software.
- Parameters
filename – test filename
context – test context
comparator – custom comparator override
serializer – custom serializer override
- Returns
-
-
class
testoot.pub.
Testoot
(base: testoot.base_testoot.BaseTestoot, context: testoot.base.TestootContext)[source]¶ -
__init__
(base: testoot.base_testoot.BaseTestoot, context: testoot.base.TestootContext)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
property
base
¶
-
property
canonize_policy
¶
-
property
storage
¶
-
test
(obj: any, suffix: Optional[str] = None, comparator: Optional[testoot.base.Comparator] = None, serializer: Optional[testoot.base.TestootSerializer] = None)[source]¶ Tests object.
- Parameters
obj – test object
suffix – test suffix for making a few tests in one context
comparator – custom comparator override
serializer – custom serializer override
- Returns
-
test_filename
(filename: str, comparator: Optional[testoot.base.Comparator] = None, serializer: Optional[testoot.base.TestootSerializer] = None)[source]¶ Tests generated file content.
- Parameters
filename – test filename
comparator – custom comparator override
serializer – custom serializer override
- Returns
-
Context stores current test information.
-
class
testoot.base.
TestootContext
[source]¶ -
-
abstract
create_test_result
(test_obj: any, canon_obj: any, exc: Exception) → testoot.base.TestootTestResult[source]¶
-
abstract
get_comparator
() → Optional[testoot.base.Comparator][source]¶
-
abstract
get_serializer
() → Optional[testoot.base.TestootSerializer][source]¶
-
abstract
get_storage_name
(file_type_hint: testoot.base.FileType, suffix: Optional[str] = None)[source]¶ Gets name for test
-
abstract
FileType is the hint from the serializer to which file type result can be saved for simplifying viewing and merging results.
-
class
testoot.base.
FileType
(mime: str, override_file_ext: Optional[str] = <class 'testoot.base.FileTypeNoExtension'>)[source]¶ File type hint for tests.
- Parameters
mime – required MIME type
override_file_ext – override default MIME type extension
-
__init__
(mime: str, override_file_ext: Optional[str] = <class 'testoot.base.FileTypeNoExtension'>) → None¶
-
mime
: str = None¶
-
override_file_ext
¶ alias of
FileTypeNoExtension
Exceptions