Se moquer des instructions Open with With en Python
Lorsque vous testez du code qui utilise la fonction open() avec une instruction with, il devient nécessaire de moquez-vous de l’appel ouvert pour affirmer le comportement attendu. Voici comment procéder à l'aide du framework Mock en Python :
Python 3
<code class="python">from unittest.mock import patch, mock_open with patch("builtins.open", mock_open(read_data="data")): mock_file = open("path/to/open") assert mock_file.read() == "data" mock_file.assert_called_with("path/to/open")</code>
Vous pouvez également utiliser patch comme décorateur avec l'argument new_callable défini sur mock_open :
<code class="python">@patch("builtins.open", new_callable=mock_open, read_data="data") def test_patch(mock_file): open("path/to/open") assert mock_file.read() == "data" mock_file.assert_called_with("path/to/open")</code>
Python 2
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!