Как разбить строку на несколько строк, где строка абсолютно одинакова ⇐ Python
-
Anonymous
Как разбить строку на несколько строк, где строка абсолютно одинакова
Вот простой модульный тест:
@pytest.mark.parameterize( "ожидаемая карта", [ ( Чихнуть(), "+---------------------+ \n| Чихнуть | \n|------------------ ---| \n| Костюм: Несчастный случай | \n| Ранг: Валет | \n| Энергозатраты: 1 | \n| Урон: 1 | \n| | \n|----------- ----------| \n| Ачу! | \n+---------------------+ \n", ), ( БросокКарта(), "+---------------------+ \n| Бросок карты | \n|----------------- ----| \n| Костюм: Атака | \n| Ранг: Валет | \n| Энергозатраты: 2 | \n| Урон: 2 | \n| | \n|---------- -----------| \n| Рикки Джей? | \n+---------------------+ \n", ), ], ) def test_display_cards(capsys, card, ожидается): testdeck = [карта] display_cards (тестовая колода) захвачено = capsys.readouterr() утверждать capture.out == ожидается Строки из 300 символов немного громоздки, и flake8 с этим согласен. Однако, если я разделю его обычными методами:
@pytest.mark.parameterize( "ожидаемая карта", [ ( Чихнуть(), ''' +---------------------+ | Чихать | |---------------------| | Костюм: Несчастный случай | | Ранг: Джек | | Энергозатраты: 1 | | Урон: 1 | | | |---------------------| | Аху! | +---------------------+''', @pytest.mark.parameterize( "ожидаемая карта", [ ( Чихнуть(), "+---------------------+ \n| \ Чихать | \n|---------------------| \ \п| Костюм: Несчастный случай | \п| Классифицировать: \ Джек | \п| Энергозатраты: 1 | \п| Повреждать: \ 1 | \п| | \n|---------------------| \п| \ Аху! | \n+---------------------+ \n", ), оба из них технически не классифицируются как точно одна и та же строка, и тесты не проходят. Что мне делать?
Этот метод тоже не сработал Как разделить определение длинной строки на несколько строк?
@pytest.mark.parameterize( "ожидаемая карта", [ ( Чихнуть(), ("+---------------------+ " "| Чихнуть | " "|---------------------| " "| Костюм: Несчастный случай | " "| Ранг: Джек | " "| Энергетическая_стоимость: 1 | " "| Урон: 1 | " "| | " "|---------------------| " "| Ачу! | " "+---------------------+ \n"), ),
Вот простой модульный тест:
@pytest.mark.parameterize( "ожидаемая карта", [ ( Чихнуть(), "+---------------------+ \n| Чихнуть | \n|------------------ ---| \n| Костюм: Несчастный случай | \n| Ранг: Валет | \n| Энергозатраты: 1 | \n| Урон: 1 | \n| | \n|----------- ----------| \n| Ачу! | \n+---------------------+ \n", ), ( БросокКарта(), "+---------------------+ \n| Бросок карты | \n|----------------- ----| \n| Костюм: Атака | \n| Ранг: Валет | \n| Энергозатраты: 2 | \n| Урон: 2 | \n| | \n|---------- -----------| \n| Рикки Джей? | \n+---------------------+ \n", ), ], ) def test_display_cards(capsys, card, ожидается): testdeck = [карта] display_cards (тестовая колода) захвачено = capsys.readouterr() утверждать capture.out == ожидается Строки из 300 символов немного громоздки, и flake8 с этим согласен. Однако, если я разделю его обычными методами:
@pytest.mark.parameterize( "ожидаемая карта", [ ( Чихнуть(), ''' +---------------------+ | Чихать | |---------------------| | Костюм: Несчастный случай | | Ранг: Джек | | Энергозатраты: 1 | | Урон: 1 | | | |---------------------| | Аху! | +---------------------+''', @pytest.mark.parameterize( "ожидаемая карта", [ ( Чихнуть(), "+---------------------+ \n| \ Чихать | \n|---------------------| \ \п| Костюм: Несчастный случай | \п| Классифицировать: \ Джек | \п| Энергозатраты: 1 | \п| Повреждать: \ 1 | \п| | \n|---------------------| \п| \ Аху! | \n+---------------------+ \n", ), оба из них технически не классифицируются как точно одна и та же строка, и тесты не проходят. Что мне делать?
Этот метод тоже не сработал Как разделить определение длинной строки на несколько строк?
@pytest.mark.parameterize( "ожидаемая карта", [ ( Чихнуть(), ("+---------------------+ " "| Чихнуть | " "|---------------------| " "| Костюм: Несчастный случай | " "| Ранг: Джек | " "| Энергетическая_стоимость: 1 | " "| Урон: 1 | " "| | " "|---------------------| " "| Ачу! | " "+---------------------+ \n"), ),