Используя Платформу Синхронизации MS для синхронизации двух SQL CE Dbs

Это метод tf.test.TestCase.test_session . Из-за неудачного именования unittest считает метод test_session тестом и добавляет его в набор тестов. Чтобы предотвратить запуск test_session в качестве теста, Tensorflow должен пропустить его изнутри, поэтому он приводит к «пропущенному» тесту:

def test_session(self,
                 graph=None,
                 config=None,
                 use_gpu=False,
                 force_gpu=False):
    if self.id().endswith(".test_session"):
        self.skipTest("Not a test.")

Убедитесь, что пропущенный тест является test_session, запустив тест с --verbose флаг. Вы должны увидеть результат, подобный следующему:

...
test_session (BoxListOpsTest)
Use cached_session instead. (deprecated) ... skipped 'Not a test.'

Хотя test_session устарело с 1.11 и должно быть заменено на cached_session ( связанный коммит ), на данный момент, удаление еще не запланировано в 2.0. Чтобы избавиться от него, вы можете применить пользовательский фильтр к собранным тестам.

unittest

Вы можете определить пользовательскую функцию load_tests :

test_cases = (BoxListOpsTest, )

def load_tests(loader, tests, pattern):
    suite = unittest.TestSuite()
    for test_class in test_cases:
        tests = loader.loadTestsFromTestCase(test_class)
        filtered_tests = [t for t in tests if not t.id().endswith('.test_session')]
        suite.addTests(filtered_tests)
    return suite

pytest

Добавить пользовательский [ 1120] pytest_collection_modifyitems хук в вашем conftest.py:

def pytest_collection_modifyitems(session, config, items):
    items[:] = [item for item in items if item.name != 'test_session']

7
задан Thomas Danecker 24 February 2009 в 09:41
поделиться

2 ответа

Sync Framework 2.0 обеспечивает синхронизацию между базами данных SQL Server Compact Edition.

SqlCeSyncProvider используется для синхронизировать SQL Server Compact базы данных.

Этот провайдер может использоваться для синхронизироваться с центральным сервером, но также есть возможность синхронизировать с другими клиентами, что не возможно с SqlCeClientSyncProvider. Эта способность позволяет разработчикам нацелены на новые сценарии, такие как сценарий сотрудничества, в котором команды людей необходимо синхронизировать между друг друга в отсутствие подключение к центральному серверу.

5
ответ дан 7 December 2019 в 10:08
поделиться

Все синхронизации ado.net требуют клиентского поставщика и поставщика сервера.

К сожалению, нет SqlCeServerSyncProvider из поля с текущей версией платформы. То, что это означает, - то, что необходимо разделить DBServerSyncProvider на подклассы и перенести SqlCeClientSyncProvider.

См. эту статью для примера о том, как сделать это с экспрессом sql.

Это - то же понятие, просто что Вы будете переносить SqlCeClientProvider. Хорошие новости - то, что обертывание могло бы быть легче.

Удачи!

1
ответ дан 7 December 2019 в 10:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: