我正在尝试使用 Selenium 为我的应用程序的前端行为编写测试。但是,我尝试测试的页面从 Solr 获取数据,并且我不想启动 Solr 实例来运行测试。
我正在使用 py.test 和py.test-django我的测试,并且我正在尝试对视图进行修补,以便对 Selenium 浏览器发送的数据做出断言。
例如,这是一个我预计会失败的测试:
def test_search(self, live_server, browser, monkeypatch):
def mockview(request):
from django.http import HttpResponse
assert True == False
return HttpResponse('Test')
monkeypatch.setattr(project.app.views, 'search', mockview)
browser.get(live_server.url + reverse('app:search'))
当浏览器尝试加载“应用程序:搜索”页面时,我希望这会失败。相反,它会加载页面的正常版本并且测试成功。
有没有办法获得这种行为?或者有没有更好的方法来处理这些测试?