Suite¶
Base suite class¶
-
class
noseapp.suite.base.
Suite
(name, require=None, context=None)[source]¶ Base Suite class for group or one TestCase.
Usage:
suite = Suite(__name__) @suite.register class Case(suite.TestCase): def runTest(self): pass @suite.register def my_test_case(case): case.assertTrue(True) @suite.register(simple=True) def simple_test(): assert True
-
TestCase
¶ Get test case class from suite instance. Will be return a test_case_class alias. The alias is base class for making test case from function.
Return type: noseapp.case.screenplay.ScreenPlayCase
-
__call__
(program_data, shuffle=None, case_name=None, method_name=None)[source]¶ Build suite. After call suite instance will be created instance of nose.suite.ContextSuite
Parameters: - program_data (noseapp.core.program.ProgramData) – instance of ProgramData
- shuffle – callable object for randomize test case list
- case_name – test name for build
- method_name – test case method name for build
Raises: RuntimeError
Return type: noseapp.core.suite.base.BaseSuite
-
__init__
(name, require=None, context=None)[source]¶ Parameters: - name (str) – suite name
- require (list) – extension names
- context (noseapp.suite.context.SuiteContext) – context instance
-
add_post_run
(func)[source]¶ Add function for post run test case to context.
Example:
@suite.add_post_run def post_run(case): case.do_something() # or suite.add_post_run(lambda case: case.do_something())
-
add_pre_run
(func)[source]¶ Add function for pre run test case to context.
Example:
@suite.add_pre_run def pre_run(case): case.do_something() # or suite.add_pre_run(lambda case: case.do_something())
-
add_setup
(func)[source]¶ Add setup callback to context.
Example:
@suite.add_setup def setup(): pass # or suite.add_setup(lambda: None)
-
add_teardown
(func)[source]¶ Add teardown callback to context.
Example:
@suite.add_teardown def teardown(): pass # or suite.add_teardown(lambda: None)
-
context
¶ Suite context.
Return type: noseapp.suite.context.SuiteContext
-
ext
(name)[source]¶ Get extension by name. Extensions will be available after build suite.
Example:
class MySuite(Suite): DEFAULT_REQUIRE = [ 'extension', ] def setUp(self): ext = self.ext('extension')
Parameters: name (str) – extension name Raises: RuntimeError, noseapp.core.extensions.ExtensionNotRequired
-
get_map
()[source]¶ Get map of test classes.
{ 'class name': { 'cls': link_to_class, 'tests': { 'method name': link_to_test_method, }, }, }
Return type: dict
-
is_build
¶ If suite is building return True else False.
Return type: bool
-
mount_to_app
(app)[source]¶ Parameters: app (noseapp.app.base.NoseApp) – application instance Raises: RuntimeError
-
name
¶ Suite name. If suite is mounting to app then name is <app_name>.<suite_name> else <suite_name>.
-
of_app
¶ Name of mounted application.
Return type: str or None
-
register
(cls=None, **kwargs)[source]¶ Add test case to context.
Example:
@suite.register class TestCase(suite.TestCase): def test(self): pass # Skip test @suite.register(skip='TODO: ...') def test(case): pass # Require extension for test case only @suite.register(require=['extension']) def test_require_ex(case): ext = case.ext('extension')
Parameters: - cls (noseapp.case.TestCase or function) – test case class
- simple (bool) – use for simple test function
- skip (str) – if to set then skip case
- require (list) – extensions names
- flows (list, tuple) – flows list
Raises: TypeError, RuntimeError
Return type: cls
-
require
¶ Extensions names storage of context.
Return type: list
-
skip
¶ Proxy to unittest.skip.
Example:
class Test(suite.TestCase): @suite.skip('TODO: ...') def test(self): pass
Return type: unittest.skip
-
skipIf
¶ Proxy to unittest.skipIf.
Return type: unittest.skipIf
-
skipUnless
¶ Proxy to unittest.skipUnless.
Return type: unittest.skipUnless
-
skip_if
¶ Proxy to unittest.skipIf.
Return type: unittest.skipIf
-
skip_unless
¶ Proxy to unittest.skipUnless.
Return type: unittest.skipUnless
-
status
¶ Get suite status. If suite is mounted to application then ‘mounted’ else ‘unmounted’.
Return type: str
-
test_case_class
¶ alias of
ScreenPlayCase
-
test_cases
¶ Test cases storage of context.
Return type: list
-
Context¶
-
class
noseapp.suite.context.
SuiteContext
(require)[source]¶ Context storage of suite instance.
Usage:
>>> context = SuiteContext(['extension']) >>> context.add_setup(lambda: None) >>> ...
-
add_extension
(name, ext)[source]¶ Add prepared extension to storage.
Parameters: - name (str) – extension name
- ext – prepared extension
-
add_post_run
(func)[source]¶ Add post run callback to storage.
Parameters: func (callable) – callback for post run
-
add_pre_run
(func)[source]¶ Add pre run callback to storage.
Parameters: func (callable) – callback for pre run
-
add_setup
(func)[source]¶ Add setup callback to storage.
Parameters: func (callable) – callback to setup
-
add_teardown
(func)[source]¶ Add teardown callback to storage.
Parameters: func (callable) – callback to teardown
-
add_test_case
(case)[source]¶ Add test case class to storage.
Parameters: case (noseapp.case.base.ToNoseAppTestCase) – test case class
-
extensions
¶ Storage for prepared extensions.
Return type: dict
-
post_run
¶ Post run callbacks storage.
Return type: list
-
pre_run
¶ Pre run callbacks storage.
Return type: list
-
require
¶ Require extensions storage.
Return type: list
-
setup
()[source]¶ Method make call to chain of setup callback storage before run suite. For nose.suite.ContextSuite
-
teardown
()[source]¶ Method make call to chain of teardown callback storage after run suite. For nose.suite.ContextSuite
-
test_cases
¶ Test cases storage.
Return type: list
-