Xlwings сохраняет приложение открытым после окончания срока действия скрипта pytestPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Xlwings сохраняет приложение открытым после окончания срока действия скрипта pytest

Сообщение Anonymous »

Я хотел бы протестировать файл Excel с помощью xlwings и pytest. При написании тестов было бы полезно иметь возможность оставлять экземпляр xlwings.App открытым вместе с тестовым файлом, чтобы я мог проверить, что происходит.
Я что-то использую вот так:

Код: Выделить всё

import pytest
import xlwings as xw

EXCEL_VISIBLE = True  # toggle headless excel
EXCEL_KEEPALIVE = True  # toggle automatic closing of excel application
XL_TESTFILE = "myfile.xlsm"

@pytest.fixture(scope="module")
def file(request):
# copy to temp directory, set up paths etc.

with xw.App(visible=EXCEL_VISIBLE) as xl_app:
xl_app.books.open(XL_TESTFILE)
xl_app.activate(steal_focus=True)
xl_app.macro('LoadData')()
yield xl_app

# FIXME: do something to optionally keep xl_app open, otherwise quit and unlink the test file
if EXCEL_KEEPALIVE:
pass
else:
pass

def simple_test(file):
assert xl_app.books[XL_TESTFILE].sheets["mysheet"].range("A1").value == "expected"

Как мне оставить приложение открытым после завершения тестов, чтобы можно было проверить, что происходит. В документации я вижу методы kill() и quit(), но нет возможности отсоединиться от тестового сценария. Возможно ли это?
Меня не волнует, приведет ли оставление приложения открытым к очистке вручную — это просто то, что облегчает мне написание тестов.

Подробнее здесь: https://stackoverflow.com/questions/788 ... est-script
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»