def test_with_exception_reraised(self, Runner): Runner.return_value = runner = mock.Mock() runner.run.side_effect = RuntimeError('foo') runner.run.return_value = 0 with mock.patch.object(sys, 'argv', ['foo', 'bar', '--traceback']): with self.assertRaises(RuntimeError): main()
def test_one(self): assert foo.main()
# -*- encoding: utf-8 -*- __author__ = 'tao' import foo print "-------- after `import foo` --------" foo.main() """用 `python -m mainFunction.bar` 执行后,输出如下: Outside main(), __name__ == mainFunction.foo -------- after `import foo` -------- In main(), __name__ == mainFunction.foo 说明:对于不在任何函数中的语句,当import某个python文件时,就会执行它们 """
def test_with_exception(self, Runner): Runner.return_value = runner = mock.Mock() runner.run.side_effect = RuntimeError('foo') runner.run.return_value = 0 self.assertEquals(main(), 1)
def test_ok(self, Runner): Runner.return_value = runner = mock.Mock() runner.run.return_value = 0 self.assertEquals(main(), 0) Runner.assert_called_once_with() runner.run.assert_called_once_with()
def test_foo(self, mock_add): self.assertEqual('Mocked!', main())
def test_main(self): self.assertEqual(foo.main(), None)
import sys sys.path.append("..") #sys.settrace(None) import auger import animal, pet import foo import properties import functions #test_subjects = [animal, pet, foo.Foo, properties.Language, functions] test_subjects = [functions] mock_sustitutes = { "genericpath": "os.path", "genericpath": "os.path", } extra_imports = [ ('random', 'Random'), ] with auger.magic(test_subjects, mock_substitutes=mock_sustitutes, extra_imports=extra_imports): #main.main() animal.main() foo.main() properties.main() functions.main()