Как проверить 'studio_view' в xblock-sdk?

Я разрабатываю custom-xblockгде создатель курса может добавить немного html в предопределенный и заранее спроектированный блок. Я установил xblock-sdk и использовать то же самое для разработки xblock. Я могу проверить student_view в xblock-sdk но я хочу проверить studio_view в той же среде.

Прямо сейчас, чтобы протестировать studio_view, я должен установить свой разработанный custom-xblock на платформу edx. Если есть какой-либо способ проверить это в xblock-sdk, тогда разработка может быть более быстрой и надежной.

я имею dogwood выпуск установлен в edx-devstack,

2 ответа

Решение

Зависит от того, что вы подразумеваете под "тестом". Если речь идет о ручном тестировании - это возможно, но проще просто установить его локально и проверить, работает ли он в реальной Studio. Чтобы получить доступ к представлениям кроме student_viewОткрой сценарий с XBlock, чем добавь /${view_name} на URL - он должен открыть это представление (то есть localhost:8080/script /test/student_view`)

Если вы говорите о юнит-тестах - читайте дальше.

Есть репозиторий xblock-utils, который предоставляет несколько довольно полезных базовых классов. Один из тех классов, SeleniumBaseTestможет дать вам некоторое представление о том, как это сделать ( в частности, эти строки).

Или вы можете просто создать подкласс своего тестового класса и использовать его (пример: в тестах Poll XBlock). В представлении Studio есть одна вещь, которая может вводить в заблуждение или сбивать с толку - их две: * studio_view - отображается ли вид, когда вы нажимаете "изменить" на XBlock во всплывающем окне * author_view - что показано в блоке. Обычно по умолчанию student_view показать одинаковый контент студентам и авторам.

Обратите внимание, что полная студийная функциональность там не будет доступна - некоторые ее части являются внешними по отношению к блокам. studio_view а также author_view, поэтому они не будут там в SDK.

Нет возможности проверить Studio_view на XBlock-sdk, Единственный способ проверить это на devstack или fullstack. Что я сделал, так это обновлял пользовательский XBlock всякий раз, когда я что-либо изменял в нем, используя эту команду: sudo -u edxapp /edx/bin/pip.edxapp install --upgrade --no-deps yourXBlockFolder/

Другие вопросы по тегам