Используйте TestCase.assertRaises
(или TestCase.failUnlessRaises
) от unittest модуля, например:
import mymod
class MyTestCase(unittest.TestCase):
def test1(self):
self.assertRaises(SomeCoolException, mymod.myfunc)
Вы обязательно исключили OCI.dll при сборке с помощью py2exe? Если версия DLL на вашем компьютере несовместима с версией клиента на другом компьютере, на котором вы ее тестируете (я заметил, что вы пробовали клиент 11g, но 10g на своем компьютере),
Исправленный build_testora.py, для использования в будущем:
from distutils.core import setup
import py2exe, sys
sys.argv.append('py2exe')
setup(
options = {'py2exe': {
'bundle_files': 2,
'compressed': True,
'dll_excludes': ["oci.dll"]
}},
console = [{'script': "testora.py"}],
zipfile = None
)