我目前正在尝试使用hudson自动化django测试,并且我很难找到一个选项,如果它已经存在,它会自动销毁测试数据库(通常它会要求确认销毁它,自动测试显然无法提供) .
我们欢迎所有的建议!
干杯,R
我目前正在努力寻找一种模拟多层/嵌套返回值的好方法.换句话说,我想返回一个魔术模拟,然后返回一个带有它自己的设置返回值的魔术模拟.我发现这相对麻烦,我正在寻找一个更优雅和可维护的解决方案.
我正在尝试有效地测试以下代码.URL返回需要进一步处理的json字符串:
import json
from urllib.request import url open
def load_json():
# first return value
response = urlopen("http://someurl.com/api/getjson")
# in turn, contains two nested return values for read and decode
response_dict = json.loads(response.read().decode('utf-8'))
Run Code Online (Sandbox Code Playgroud)
到目前为止,这就是我嘲笑的方式,这非常不优雅并且使维护变得复杂:
class MyTestCase(TestCase):
@patch('load_json_path.urlopen')
def test_load_json(self, mock_urlopen):
### trying to simplify all of this
# third nested return
mock_decode = MagicMock(return_value='["myjsondata"]')
# second nested return value
mock_response = MagicMock()
mock_response.read.return_value=mock_decode
# first nested return value
mock_urlopen.return_value = mock_response
### trying to simplify all of this
load_json()
Run Code Online (Sandbox Code Playgroud)
最后,我试图模拟的是来自解码函数的返回数据,它来自url …