Мне нравится использовать тестовые приборы для ситуаций, в которых у меня есть несколько подобных тестов.В Python под Nose я обычно реализую это как обычный тестовый модуль, импортируемый другими модулями.Например, я мог бы использовать следующую структуру файлов:
db_fixtures.py:
import unittest
class BaseDB(unittest.TestCase):
def testFirstOperation(self):
self.db.query("Foo")
def testSecondOperation(self):
self.db.query("Blah")
database_tests.py:
import db_fixtures
class SQliteTest(db_fixtures.BaseDB):
def setUp(self):
self.db = createSqliteconnection()
class MySQLTest(db_fixtures.BaseDB):
def setUp(self):
self.db = createMySQLconnection()
Это запустит все тесты, определенные вBaseDB на MySQL и SQlite.Обратите внимание, что я назвал db_fixtures.py таким образом, чтобы он не запускался Nose.