Благинки за по-лесно тестване

  1. Пускане на тестове от много файлове наведнъж

    Тъй катo често се случва различни хора да пишат тестове и не винаги следващият човек е включил
    предишните тестове при своите(а и няма смисъл да се върши тази излишна работа) си инсталирах
    nose testing framework. С нейна помощ само с командата nosetests се пускат всички тестове в текущата
    директория. Разбира се, че поддържа и мноого повече.
    На Mint линукс се инсталира доста лесно с pip
    (би трябвало да работи точно така и на Ubuntu, а за други дистрибуции си вижте packet manager-a).
    Първо инсталираме pip:
    sudo apt-get install python3-pip
    След това nose:
    pip3 install nose
    Употреба: nosetests [options] [(optional) test files or directories]
    Може и просто nosetests като така ще се сканират всички файлове в текущата директория за тестове.

    Бързо дръпване на тестове (ако са в gist)

    Следният скрипт дърпа файлът с тестът от github в текущата папка и го разархивира без директорията,
    която по принцип се намира в архива. Адресът се подава като аргумент.
    Например: getgist https://gist.github.com/brodafly/9573811
    Тоест няма нужда да се копира download линкът в Guthub (той си го "залепя"), просто Copy Link Location
    на линкът. За да е използваем скриптът, трябва да се запише на място сочено от PATH променливата.
    Например /usr/local/bin. Трябва и да се направи изпълним: chmod 755 getgist
    Разбира се може да си го кръстите както искате.

  2. Малка добавка: скрипта може да си го викате и със source <path-to-script>/getgist и не е нужно да му сменяте правата или да го добавяте в PATH-а си. И аз ползвам нещо подобно за дърпане на чужди тестове и добавяне към моите. Но този testing framework е страхотно попадение и може да спести доста ръчна работа! :)

    И още нещо: инсталацията на приложения през pip не би трябвало да се влияе от операционната система, ако pip е инсталиран. Нещо повече, човек може да си създаде виртуална среда с virtualenv, а от Python 3.4 вече и вграденият venv включва pip по подразбиране.

    Тези двете неща са удобни, когато например човек няма права да инсталира софтуер и да бърника из разни системни папки (чужд/обществен компютър) или пък не иска да си пълни PATH-а с допълнителни неща по някаква причина.

Трябва да сте влезли в системата, за да може да отговаряте на теми.