Как я могу написать модульный тест для модуля веб-браузера python3? - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу провести модульное тестирование группы кода, которая выглядит следующим образом:

# First command. This will open reddit in your browser.
# -------------------------------------------------------------
    if 'open reddit' in command:
        url = 'https://www.reddit.com/'
        if not runtest:
            webbrowser.open(url)
            print('Done!')
            talktome.talkToMe('reddit is opening.')
        if runtest:
            return url

# -------------------------------------------------------------
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Я написал этот модульный тест:

import unittest
import subprocess
from GreyMatter import julibrain
from SpeakAndHear import talktome


class TestBrain(unittest.TestCase):
    def test_open_reddit(self):
        test = True
        testurl = julibrain.assistant('open reddit', 1, 2, test)
        #subprocess.call(['pip', 'list', '|', 'grep', 'webbrowser'])
        self.assertEqual(testurl, 'https://www.reddit.com/')

Я вызываю его в командной строке :

python -m unittest test_julibrain.py

Это дает мне такой вывод:

python -m unittest test_julibrain.py

Package           Version   
----------------- ----------
autopep8          1.5.2     
beautifulsoup4    4.9.0     
certifi           2020.4.5.1
chardet           3.0.4     
click             7.1.1     
future            0.18.2    
gTTS              2.1.1     
gTTS-token        1.1.3     
idna              2.9       
isort             4.3.21    
lazy-object-proxy 1.4.3     
mccabe            0.6.1     
mock              4.0.1     
MouseInfo         0.1.3     
mypy              0.770     
mypy-extensions   0.4.3     
numpy             1.18.1    
Pillow            7.1.1     
pip               20.0.2    
psutil            5.7.0     
PyAudio           0.2.11    
PyAutoGUI         0.9.50    
pycodestyle       2.5.0     
PyGetWindow       0.0.8     
pylint            2.4.4     
PyMsgBox          1.0.7     
pyperclip         1.8.0     
PyQt5             5.14.2    
PyQt5-sip         12.7.2    
PyRect            0.1.4     
PyScreeze         0.1.26    
python3-xlib      0.15      
PyTweening        1.0.3     
requests          2.23.0    
setuptools        45.2.0    
six               1.14.0    
soupsieve         2.0       
subprocess.run    0.0.8     
typed-ast         1.4.1     
typing-extensions 3.7.4.1   
urllib3           1.25.9    
vosk              0.3.3     
wheel             0.34.2    
wikipedia         1.4.0     
wrapt             1.11.2    
.
----------------------------------------------------------------------
Ran 1 test in 0.285s

OK              

Так что я могу проверить, что URL-адрес устанавливается , но я не знаю, как посмотреть, работает ли модуль веб-браузера. Если я запускаю код, то открывается веб-браузер. Я не хочу открывать это. Я хотел бы получить какой-то статус, который говорит, что модуль был импортирован, объект webbroser может быть создан, и нет никаких проблем. После просмотра веб-браузера сделайте c, я понятия не имею, как это сделать. Любые идеи? Спасибо. Я на Ubuntu 18.04, использую conda и python 3.6.1. Ура!

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