Przykład z os.walk(), która zwraca trzy elementową krotkę:
import os
def findFile(fileName):
    for root, dirs, files in os.walk('~/'):
        if fileName in files:
            return os.path.join(root, fileName)
    return None
Test:import unittest
import mock
from mock import call
import asdf
class TestFindFile(unittest.TestCase):
    @mock.patch('asdf.os')
    def test_findFIle(self, mockOs):
        fileName = 'aaa.txt'
        mockOs.walk.return_value = [('/home/user',        ('folder',),      ('bbb.txt',)),
                                    ('/home/user/folder', ('fol1', 'fol2'), (fileName,))]
        mockOs.path.join.return_value = '/home/user/folder' + fileName
        self.assertEqual('/home/user/folder' + fileName, asdf.findFile(fileName))
        mockOs.walk.assert_called_once_with('~/')
        mockOs.path.join.assert_called_once_with('/home/user/folder', fileName)
 
Brak komentarzy:
Prześlij komentarz