def test_multiple_buckets(self): self.discover_mock.return_value = self.all_tests # Buckets should be assigned: # 0 -> TestCaseWithManyTesets, TestCaseWithFewTests # 1 -> AAA_FirstTestCaseWithSameNumberOfTests, ZZZ_SecondTestCaseWithSameNumberOfTests instance = test_runner.TestRunner(mock.sentinel.test_path, bucket=0, bucket_count=2) discovered = instance.discover() self.assert_types_of_discovered( discovered, ( bucketing_test.TestCaseWithManyTests, bucketing_test.TestCaseWithFewTests, ), ) instance = test_runner.TestRunner(mock.sentinel.test_path, bucket=1, bucket_count=2) discovered = instance.discover() self.assert_types_of_discovered( discovered, ( bucketing_test.AAA_FirstTestCaseWithSameNumberOfTests, bucketing_test.ZZZ_SecondTestCaseWithSameNumberOfTests, ), )
def test_unit_test_status(self): runner = test_runner.TestRunner(UnitTest) assert runner.run() assert UnitTest.status == [True] * 6, UnitTest.status runner = test_runner.TestRunner(UnitTestUntested) assert runner.run() assert UnitTestUntested.status == [False] * 6, UnitTestUntested.status
def test_prints_one_per_line(self): instance = test_runner.TestRunner(mock.sentinel.test_class) instance.list_tests(mock.sentinel.selected_suite_name) self.print_mock.assert_has_calls([ mock.call(self.get_test_method_name_mock.return_value) for _ in self.get_tests_for_suite_mock.return_value ])
def test_plugin_run(self): runner = test_runner.TestRunner(self.dummy_test_class, plugin_modules=[self.our_module]) assert runner.run() assert self.ran_test assert not running assert prepared
def test_bucketing_one_bucket(self): """Trivial base case, should return similar to no_buckets, but with sorting""" self.discover_mock.return_value = self.all_tests instance = test_runner.TestRunner(mock.sentinel.test_path, bucket=0, bucket_count=1) discovered = instance.discover() self.assert_types_of_discovered(discovered, self.all_tests_sorted_by_number_of_tests)
def test_bucketing_no_buckets(self): self.discover_mock.return_value = self.all_tests instance = test_runner.TestRunner(mock.sentinel.test_path) discovered = instance.discover() # The tests we discover should be in the order that test_discovery # returns them as self.assert_types_of_discovered(discovered, self.all_tests)
def test_bucketing_with_filtering(self): self.discover_mock.return_value = self.all_tests instance = test_runner.TestRunner( mock.sentinel.test_path, bucket=0, bucket_count=1, module_method_overrides={ self.all_tests[0].__name__: set(), }, ) discovered = instance.discover() self.assert_types_of_discovered(discovered, (self.all_tests[0], ))
def test_get_tests_for_suite_not_in_suite(self): self.in_suite_mock.return_value = False instance = test_runner.TestRunner(mock.sentinel.test_class) ret = instance.get_tests_for_suite(mock.sentinel.selected_suite_name) assert_equal(ret, [])
def test_get_tests_for_suite_in_suite(self): self.in_suite_mock.return_value = True instance = test_runner.TestRunner(mock.sentinel.test_class) ret = instance.get_tests_for_suite(mock.sentinel.selected_suite_name) assert_equal(list(ret), [self.mock_test_method])