小编dra*_*aB1的帖子

Mock_open CSV文件没有获取任何数据

我正在尝试对一段代码进行单元测试:

def _parse_results(self, file_name):
    results_file = open(file_name)
    results_data = list(csv.reader(results_file))
    index = len(results_data[1])-1
    results_file.close()
    return float(results_data[1][index])
Run Code Online (Sandbox Code Playgroud)

通过使用mock_open如此:

@mock.patch('path.open', mock.mock_open(read_data='test, test2, test3, test4'))
def test_parse_results(self):
    cut = my_class(emulate=True)
    self.assertEqual(VAL, cut._parse_results('file'))
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我在运行csv.reader时没有得到任何数据.如果我运行results_file.readlines(),我得到'test,test2,test3,test4',这意味着mock_open正常工作.但是当我运行csv.reader(results_file)时,我丢失了所有数据.

python csv mocking

9
推荐指数
2
解决办法
1070
查看次数

Pygraphviz 绘制 170 个图形后崩溃

我正在使用 pygraphviz 为不同的数据配置创建大量图表。我发现无论在图形中放入什么信息,程序在绘制第 170 个图形后都会崩溃。程序停止时没有生成错误消息。如果绘制这么多图形,是否需要重新设置?

我在 Windows 10 机器、Pygraphviz 1.5 和 graphviz 2.38 上运行 Python 3.7

    for graph_number in range(200):
        config_graph = pygraphviz.AGraph(strict=False, directed=False, compound=True, ranksep='0.2', nodesep='0.2')

        # Create Directory
        if not os.path.exists('Graph'):
            os.makedirs('Graph')

        # Draw Graph      
        print('draw_' + str(graph_number))
        config_graph.layout(prog = 'dot')
        config_graph.draw('Graph/'+str(graph_number)+'.png') 
Run Code Online (Sandbox Code Playgroud)

python windows graphviz python-3.x pygraphviz

5
推荐指数
1
解决办法
283
查看次数

标签 统计

python ×2

csv ×1

graphviz ×1

mocking ×1

pygraphviz ×1

python-3.x ×1

windows ×1