Android Studio портит файлы моего проекта?

Я просто наткнулся на хорошее использование eval. Я писал набор тестов для некоторого кода и создал класс Test, где каждый метод был тестом, который должен быть запущен. Я хотел, чтобы я мог запускать все методы тестирования без необходимости индивидуального вызова каждого метода. Итак, я написал что-то довольно грязное.

class Test:
    def __init__(self, *args):
       #bs

    def test1(self):
       #bs

    def test2(self):
       #bs

if __name__ == "__main__":
    import argparse
    #argparse bs
    test = Test(*bs_args)
    for func in (i for i in dir(test) if i[0] != '_' and i not in test.__dict__):
        print(eval('test.{func}()'.format(func = func)))

Динамическая оценка произвольных тестовых случаев довольно крутая. Мне просто нужно написать этот метод, и после сохранения я могу включить этот метод в свой тестовый набор. Что касается кода, я в основном просто проверяю методы, определенные в тестовом объекте, и удостоверяюсь, что они не являются «волшебными» методами или атрибутами python для объекта Test. После этого я могу предположить, что они являются методами и могут быть оценены.

1
задан Dimas Mendes 5 April 2019 в 14:00
поделиться

1 ответ

Мне удалось решить все эти проблемы, полностью переустановив Android Studio 3.3 и удалив все конфигурации и связанные с ними папки.

Сначала я переустановил IDE, но возникла та же проблема. Затем я попытался следовать инструкциям по кодированию в этом ответе « Android Studio: не отображаемый символ для кодирования UTF-8 »

Ни один из них не имел никакого эффекта. [1113 ]

Вот как я это исправил:

  • Uninstalled Android Studio
  • Удален Android Studio SDK
  • Удален .gradle, .android, Папки .AndroidStudio3.3, расположенные в C: \ Users \ MyUserName
  • Fresh Installed Android Studio 3.3
  • Открыл настройки кодирования в меню «Файл»> «Настройки»> «Кодировки файлов»
  • .
  • Изменены все типы кодирования на UTF-8 (глобальное, проектное и по умолчанию)

enter image description here

0
ответ дан Dimas Mendes 5 April 2019 в 14:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: