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:
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
setUp()[source]

Callback. Will be called run before run suite.

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
tearDown()[source]

Callback. Will be called run after run suite.

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)
>>> ...
__init__(require)[source]
Parameters:require (list) – extensions names
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