1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
import os
import sys
import unittest
from nose.config import Config
from nose.core import TestProgram
here = os.path.abspath(os.path.dirname(__file__))
support = os.path.join(here, 'support')
units = os.path.normpath(os.path.join(here, '..', 'unit_tests'))
if units not in sys.path:
sys.path.insert(0, units)
from mock import RecordingPluginManager
class TestPluginCalls(unittest.TestCase):
"""
Tests how plugins are called throughout a standard test run
"""
def test_plugin_calls_package1(self):
wdir = os.path.join(support, 'package1')
man = RecordingPluginManager()
conf = Config(plugins=man, stream=sys.stdout)
t = TestProgram(defaultTest=wdir, config=conf,
argv=['test_plugin_calls_package1'], exit=False)
print man.calls()
assert man.called
self.assertEqual(
man.calls(),
['loadPlugins', 'addOptions', 'configure', 'begin',
'prepareTestLoader', 'loadTestsFromNames', 'loadTestsFromName',
'prepareTestRunner', 'prepareTest', 'setOutputStream',
'prepareTestResult', 'beforeDirectory', 'wantFile',
'wantDirectory', 'beforeContext', 'beforeImport',
'afterImport', 'wantModule', 'wantClass', 'wantFunction',
'makeTest', 'wantMethod', 'loadTestsFromTestClass',
'loadTestsFromTestCase', 'loadTestsFromModule', 'startContext',
'beforeTest', 'prepareTestCase', 'startTest', 'addSuccess',
'stopTest', 'afterTest', 'stopContext', 'afterContext',
'loadTestsFromDir', 'afterDirectory',
'report', 'finalize'])
def test_plugin_calls_package1_verbose(self):
wdir = os.path.join(support, 'package1')
man = RecordingPluginManager()
conf = Config(plugins=man, stream=sys.stdout)
t = TestProgram(defaultTest=wdir, config=conf,
argv=['test_plugin_calls_package1', '-v'], exit=False)
print man.calls()
assert man.called
self.assertEqual(
man.calls(),
['loadPlugins', 'addOptions', 'configure', 'begin',
'prepareTestLoader', 'loadTestsFromNames', 'loadTestsFromName',
'prepareTestRunner', 'prepareTest', 'setOutputStream',
'prepareTestResult', 'beforeDirectory', 'wantFile',
'wantDirectory', 'beforeContext', 'beforeImport',
'afterImport', 'wantModule', 'wantClass', 'wantFunction',
'makeTest', 'wantMethod', 'loadTestsFromTestClass',
'loadTestsFromTestCase', 'loadTestsFromModule', 'startContext',
'beforeTest', 'prepareTestCase', 'startTest', 'describeTest',
'testName', 'addSuccess', 'stopTest', 'afterTest', 'stopContext',
'afterContext', 'loadTestsFromDir', 'afterDirectory',
'report', 'finalize'])
if __name__ == '__main__':
unittest.main()
|