我正在尝试使用Selenium为我的应用程序的前端行为编写测试。但是,我试图测试的页面从Solr获取它们的数据,我不想旋转Solr实例来运行测试。使用Django的LiveServerTestCase Monkeypatching视图
我正在使用py.test和py.test-django我的测试,我试图monkeypatch视图,以便对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'))
我希望当浏览器尝试加载的“应用程序:搜索”这个失败页面。相反,它会加载正常版本的页面并且测试成功。
有没有办法得到这种行为?还是有更好的方法来处理这些测试?
我会被替换的意见是JSON意见通过客户端JS是牵强,但是打补丁Solr电话也起作用。 – rouge8 2013-03-05 20:00:02
'mock'现在是Python 3的一部分,因此您可以用https://docs.python.org/3/library/unittest.mock.html#where-to-patch替换第一个链接 – Flimm 2016-12-28 19:30:29