示例#1
0
 def test_dry_run_call(self):
     clear()
     listener_ = Listener(0)
     listener_.on_dry_run = inc
     count = COUNT
     test(fake)
     r_.start(listener=listener_, dry_run=True)
     self.assertEqual(count + 1, COUNT)
示例#2
0
 def test_ends_call(self):
     clear()
     listener_ = Listener(0)
     listener_.on_suite_ends = inc
     count = COUNT
     test(fake)
     r_.start(listener=listener_)
     self.assertEqual(count + 1, COUNT)
示例#3
0
 def test_ignored_by_condition_call(self):
     clear()
     listener_ = Listener(0)
     listener_.on_ignored_by_condition = inc
     count = COUNT
     test(only_if=lambda: False)(fake)
     r_.start(listener=listener_)
     self.assertEqual(count + 1, COUNT)
示例#4
0
    def test_add_img(self):
        def _():
            add_img("A", b"B")

        clear()
        test(_)
        t = list(TestSuite.get_instance().groups.values())[0].tests[0]
        t.run()
        self.assertEqual({b'B': 'A'}, t.report_params)
示例#5
0
 def test_starts_call(self):
     clear()
     reload(r_)
     listener_ = Listener(0)
     listener_.on_test_starts = inc
     count = COUNT
     test(fake)
     r_.start(listener=listener_)
     self.assertEqual(count + 1, COUNT)
示例#6
0
 def test_on_max_fail_not_call(self):
     clear()
     listener_ = Listener(0)
     listener_.on_suite_stop_with_max_fail = inc
     count = COUNT
     test(fail)
     test(fail)
     r_.start(listener=listener_, max_fail=3)
     self.assertEqual(count, COUNT)
示例#7
0
 def test_before_suite_failed_call(self):
     clear()
     listener_ = Listener(0)
     listener_.on_before_suite_failed = inc
     count = COUNT
     before_suite(lambda: int('a'))
     test(fake)
     r_.start(listener=listener_)
     self.assertEqual(count + 1, COUNT)
示例#8
0
 def test_ignored_call(self):
     clear()
     listener_ = Listener(0)
     listener_.on_ignored = inc
     count = COUNT
     test(fake)
     before(lambda: int('a'))
     r_.start(listener=listener_)
     self.assertEqual(count + 1, COUNT)
示例#9
0
    def test_broken_call(self):
        def broke():
            int('1a')

        clear()
        listener_ = Listener(0)
        listener_.on_broken = inc
        count = COUNT
        test(broke)
        r_.start(listener=listener_)
        self.assertEqual(count + 1, COUNT)
示例#10
0
    def test_failed_call(self):
        def fail():
            assert 1 == 2

        clear()
        listener_ = Listener(0)
        listener_.on_failed = inc
        count = COUNT
        test(fail)
        r_.start(listener=listener_)
        self.assertEqual(count + 1, COUNT)
示例#11
0
    def test_ignore_with_provider_call(self):
        def wrong():
            return 1

        clear()
        listener_ = Listener(0)
        listener_.on_ignored_with_provider = inc
        count = COUNT
        provider(name='prov')(wrong)
        test(data_provider='prov')(lambda x: x)
        r_.start(listener=listener_)
        self.assertEqual(count + 1, COUNT)
示例#12
0
    def test_generate_normal(self):
        def _1():
            assert True is True, 'pass'

        def _2():
            assert True is False, 'fail'

        def _3():
            test_break()

        clear()
        test(_1)
        test(_2)
        test(_3)
        suite = TestSuite.get_instance()
        ts = list(suite.groups.values())[0].tests

        ts[0].run()
        with self.assertRaises(AssertionError):
            ts[1].run()
        with self.assertRaises(TestBrokenException):
            ts[2].run()

        generate(suite)

        with open(f'{os.getcwd()}{sep}test_results{sep}index.html') as f:
            rep = ''.join(
                [line for _, line in enumerate(f.readlines()) if _ != 64])

        shutil.rmtree(f'{os.getcwd()}{sep}test_results')

        self.assertEqual(
            rep, """<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Test Results for Default Test Suite</title>
    <link rel="stylesheet" href="css/materialize.css">
    <link rel="stylesheet" href="css/roboto.css">
    <script>
        function opclose(locator) {
            return function () {
                if (document.querySelector(locator).childNodes[3].style.display === 'none') {
                    document.querySelector(locator).childNodes[3].style = 'display:block';
                } else {
                    document.querySelector(locator).childNodes[3].style = 'display:none';
                }
            }
        }

        function opclose_sibling(locator) {
            return function () {
                if (document.querySelector(locator).nextElementSibling.style.display === 'none') {
                    document.querySelector(locator).nextElementSibling.style = 'display:block';
                } else {
                    document.querySelector(locator).nextElementSibling.style = 'display:none';
                }
            }
        }
    </script>
</head>
<body class="blue-grey lighten-5">
<h1 style="text-align: center;" class="card-panel teal blue-grey darken-4 z-depth-3"><span
        style="color: #eceff1; font-family: 'Roboto', sans-serif;">Info</span></h1>
<table style="width: 80%; margin-left: auto; margin-right: auto; font-family: 'Roboto', sans-serif;">
    <tbody>
    <tr>
        <td><b>Suite name:</b></td>
        <td>Default Test Suite</td>
    </tr>
    <tr>
        <td><b>Total groups:</b></td>
        <td>1</td>
    </tr>
    <tr>
        <td><b>Total tests:</b></td>
        <td>3</td>
    </tr>
    <tr>
        <td>&nbsp;&nbsp;&nbsp;<b style="color: #2e7d32">succeeded:</b></td>
        <td><span style="color: #2e7d32">0</span></td>
    </tr>
    <tr>
        <td>&nbsp;&nbsp;&nbsp;<b style="color: #d50000">failed:</b></td>
        <td><span style="color: #d50000">0</span></td>
    </tr>
    <tr>
        <td>&nbsp;&nbsp;&nbsp;<b style="color: #ff6f00">broken:</b></td>
        <td><span style="color: #ff6f00">0</span></td>
    </tr>
    <tr>
        <td>&nbsp;&nbsp;&nbsp;<b style="color: #757575">ignored:</b></td>
        <td><span style="color: #757575">0</span></td>
    </tr>
    <td>
        <b>Success percent: </b><b style='color: #d50000'>0.0 %</b><br/>
    </td>
    </tbody>
</table>

<div style="width: 80%; margin-left: auto; margin-right: auto; font-family: 'Roboto', sans-serif;">
    <h2>Statistics:</h2>
<h4 id='id_g_1' style='cursor: pointer;'>Group 'report_test' (elapsed 0.0 seconds), succeeded tests 0/0:
    <script>document.querySelector('#id_g_1').addEventListener('click', opclose_sibling('#id_g_1'))</script>
</h4>
<ol style='display: none;'>
</ol>
<script></script>
</div>
</body>
</html>""")
示例#13
0
def _run(func):
    clear()
    test(func)
    start(listener=Listener(3))