小编Ric*_*c W的帖子

如何自动销毁django测试数据库

我目前正在尝试使用hudson自动化django测试,并且我很难找到一个选项,如果它已经存在,它会自动销毁测试数据库(通常它会要求确认销毁它,自动测试显然无法提供) .

我们欢迎所有的建议!

干杯,R

python database testing django hudson

44
推荐指数
1
解决办法
1万
查看次数

如何在python中模拟嵌套/多层返回对象

我目前正在努力寻找一种模拟多层/嵌套返回值的好方法.换句话说,我想返回一个魔术模拟,然后返回一个带有它自己的设置返回值的魔术模拟.我发现这相对麻烦,我正在寻找一个更优雅和可维护的解决方案.

我正在尝试有效地测试以下代码.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 …

python nested mocking

11
推荐指数
2
解决办法
5651
查看次数

标签 统计

python ×2

database ×1

django ×1

hudson ×1

mocking ×1

nested ×1

testing ×1