Как я могу регистрировать что-либо с помощью python logger только в случае сбоя подтверждения? - PullRequest
0 голосов
/ 31 марта 2020
@pytest.mark.usefixtures("oneTimeSetUp","setUp")
class BeyondTest(unittest.TestCase):
    log = cl.testLogger(logging.INFO)
    @pytest.fixture(autouse=True)
    def classSetup(self,oneTimeSetUp):
        self.ts = TestStatus(self.driver)
        self.bmf = BMF(self.driver)


    @pytest.mark.run(order=1)
    def test_site_to_csv(self):
        self.bmf.imagelist()
        first_column =[l[4] for l in self.bmf.csvreader]
        list_site_to_csv = [item for item in self.bmf.full_list if item not in first_column]
        self.log.INFO(list_site_to_csv)
        assert len(list_site_to_csv)<=0

Итак, у меня есть CSV с некоторыми данными, которые необходимо проверить на сайте, я сначала собираю данные на сайте и добавляю их в список «self.bmf.full_list», столбцы CSV сохраняются в first_column Затем я сравниваю оба списка и сохраняю те, которые отсутствуют в csv, но присутствуют на сайте, в список "list_site_to_csv. Утверждение - len (list_site_to_csv) <= 0. Что я пытаюсь выяснить, так это как log.INFO только когда утверждение не выполнено - что-то вроде </p>

if assert len(list_site_to_csv)<=0:
    then self.log.INFO(list_site_to_csv)

любое другое предложение о лучшем способе обработки этого, чем список, также было бы замечательно

1 Ответ

1 голос
/ 31 марта 2020

assert принимает второй аргумент. Пример:

>>> list_site_to_csv = ['apples']
>>> assert not list_site_to_csv, f'It failed. List is not empty. {list_site_to_csv}'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError: It failed. List is not empty. ['apples']

В этом случае, если list_site_to_csv не пусто, выскочит assert, и будет показано сообщение.

Примечание:

len (list_site_to_csv) <= 0 не является pythoni c. Для проверки ложных значений предпочтительно использовать <code>if not my_var:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...