Как определить имя прибора в приборах, а не имя класса - PullRequest
0 голосов
/ 06 июня 2011

Я хотел бы использовать несколько приборов в одном наборе тестов для тестирования модели SQLAlchemy в различных ситуациях. Какой самый простой способ?

1 Ответ

1 голос
/ 13 июня 2011

Я использую методы фиксации, которые вызываются в тесте:

class TestMyStuff(TestCase):
    def setUp(self):
        self.Session = Session(bind=engine)

    def tearDown(self):
        self.Session.rollback()
        self.Session.close()

    def _fixture_one(self):
        self.Session.add_all([
            User(name='ed')
        ])
        self.Session.flush()

    def _fixture_two(self):
        self.Session.add_all([
            Address(street='123 anywhere street')
        ])
        self.Session.flush()

    def test_some_user_thing(self):
        self._fixture_one()
        assert self.Session.query(User.name).first() == (('ed',))

    def test_some_address_thing(self):
        self._fixture_two()
        assert self.Session.query(Address.street).\
            first() == (('123 anywhere street',))
...