Меня интересует ваше мнение о коде Unittesting, который использует Corba для связи с сервером.Unittesting Corba in Python
Вы бы издевались над объектами Корбы? В Python это какая-то боль в заднице, потому что все методы объектов Corba загружаются динамически. Таким образом, вы в основном застреваете с «макетом».
Спасибо!
Примечание: Я считаю, что я не сделал себе достаточно ясно, так что я постараюсь дать несколько более конкретный пример:
Веб-приложение должно отобразить страницу, содержащую данные, полученные с сервера. Он получает данные, вызывая server_pagetable.getData(), а затем форматирует данные, преобразует их в правильные типы python (потому что Corba не имеет типа даты и т. Д.) И, наконец, создает HTML-код для отображения.
И это то, что я хотел бы протестировать - методы, которые получают данные и выполняют все преобразования и, наконец, создают HTML-код.
Я считаю, что наиболее простым решением является издевательствовать объекты Corba, поскольку они по существу содержат как сетевые, так и функциональные возможности db (которые не должны тестироваться в модульных тестах).
Просто для этого достаточно «лишней работы» - издевательства над всеми объектами Corba (есть объект User, объект сеанса сервера, связанный с ним объект, объект admin и т. Д.). Может быть, это просто потому, что я застрял с Корбой, и поэтому мне нужно отразить иерархию объектов, продиктованную сервером с помощью mocks. С другой стороны, может случиться так, что есть довольно классное элегантное решение для тестирования кода с помощью Corba, который просто не переходил мне на ум.
Да, но время от времени (в моем случае на самом деле довольно часто) вам просто нужно проверить некоторые функции, которые напрямую используют Corba. В моем случае сервер связывается с клиентом с помощью Corba, поэтому, если я хочу проверить это, например, мой объект, который обертывает интерфейс Corba, отлично работает, я должен каким-то образом включить Corba в тест. (Отказ от ответственности: Это не мой дизайн, только что я унаследовал и должен работать. :-)) –
Измените дизайн в этом отношении. Также не проверяйте компилятор Corba (если вы не сталкиваетесь с ошибками и не должны знать, как это работает). Убедитесь, что ваш код задает правильные параметры. Следующим шагом будет получение источника для сервера и проверка его кода с помощью модульных тестов. Но избегайте круглых поездок (как можно больше). Отказ от ответственности: Реальность бьет бумагу. –