Example #1
0
    def test_run_getcwd_as_default(self, getcwd):
        subject = SpecCoordinator(Mock(), Mock(), Mock())
        subject.find_specs = Mock()
        subject.execute = Mock(return_value=[1, 2, 3])

        getcwd.return_value = '/foobar/'

        successes, failures, skipped = subject.run()
        self.assertEqual(successes, 1)
        self.assertEqual(failures, 2)
        self.assertEqual(skipped, 3)

        getcwd.assert_called_once_with()
Example #2
0
    def run(self, progn, *args):
        options = self.options_parser.parse(progn, args)
        if options.should_show_version:
            from describe.meta import __version__
            print "Version:", __version__
            return 0
        options.append_paths_to(sys.path)

        # simple for now
        executor = SpecCoordinator()
        num_successes, num_errors, num_skips = executor.run(options.run_targets)

        return num_errors
Example #3
0
    def test_executes_spec(self, runner):
        file_finder, spec_finder, formatter = (
            Mock(), Mock(), Mock()
        )
        example_group = ExampleGroup('group', examples=[
            Example('foobar'),
        ])
        instance = runner.return_value = Mock()
        instance.run = Mock(return_value=[1, 2, 3])

        subject = SpecCoordinator(file_finder, spec_finder, formatter)

        subject.execute([example_group])
        instance.run.assert_called_once_with()
Example #4
0
    def test_run_uses_find_and_then_execute(self):
        subject = SpecCoordinator(Mock(), Mock(), Mock())

        results = [Mock(), Mock()]
        subject.find_specs = Mock(return_value=results)
        subject.execute = Mock(return_value=[1, 2, 3])

        subject.run(('/foo/', '/bar/'))

        self.assertEqual(subject.find_specs.call_args_list, [
            (('/foo/',), {}),
            (('/bar/',), {}),
        ])
        self.assertEqual(subject.execute.call_args_list, [
            ((results,), {}),
            ((results,), {}),
        ])
Example #5
0
    def test_finds_specs(self):
        file_finder, spec_finder, formatter  = Mock(), Mock(), Mock()
        spec_files = file_finder.find.return_value = [Mock(), Mock()]
        spec_files[0].modulepath = 'foo.bar_spec'
        spec_files[1].modulepath = 'foo.baz_spec'
        spec_files[0].module = Mock()
        spec_files[1].module = Mock()

        specs = result = [[Mock()], [Mock(), Mock()]]
        expected = specs[0] + specs[1]
        spec_finder.find.side_effect = lambda *args: result.pop(0)

        subject = SpecCoordinator(file_finder, spec_finder, formatter)

        self.assertEqual(subject.find_specs('/foobar/'), expected)

        self.assertEqual(spec_finder.find.call_args_list, [
            ((spec_files[0].module,), {}),
            ((spec_files[1].module,), {}),
        ])