@@ -8,7 +8,7 @@ msgstr ""
88"Project-Id-Version : Python 3.12\n "
99"Report-Msgid-Bugs-To : \n "
1010"POT-Creation-Date : 2023-09-09 00:03+0000\n "
11- "PO-Revision-Date : 2024-04-02 21:55 +0800\n "
11+ "PO-Revision-Date : 2024-04-09 00:26 +0800\n "
1212"Last-Translator : Liang-Bo Wang <me@liang2.tw>\n "
1313"Language-Team : Chinese - TAIWAN (https://github.com/python/python-docs-zh- "
1414"tw)\n "
@@ -1191,25 +1191,27 @@ msgstr ""
11911191
11921192#: ../../library/unittest.mock-examples.rst:1154
11931193msgid "Here's an example that mocks out the 'fooble' module."
1194- msgstr ""
1194+ msgstr "下面是一個 mock out 'fooble' 模組的例子。 "
11951195
11961196#: ../../library/unittest.mock-examples.rst:1166
11971197msgid ""
11981198"As you can see the ``import fooble`` succeeds, but on exit there is no "
11991199"'fooble' left in :data:`sys.modules`."
12001200msgstr ""
1201+ "如你所建,``import fooble`` 成功了,但在離開之後,:data:`sys.modules` 中就沒"
1202+ "有 'fooble' 了。"
12011203
12021204#: ../../library/unittest.mock-examples.rst:1169
12031205msgid "This also works for the ``from module import name`` form:"
1204- msgstr ""
1206+ msgstr "這也適用於 ``from module import name`` 形式: "
12051207
12061208#: ../../library/unittest.mock-examples.rst:1179
12071209msgid "With slightly more work you can also mock package imports:"
1208- msgstr ""
1210+ msgstr "透過稍微多一點的處理,你也可以 mock 套件的引入: "
12091211
12101212#: ../../library/unittest.mock-examples.rst:1192
12111213msgid "Tracking order of calls and less verbose call assertions"
1212- msgstr ""
1214+ msgstr "追蹤呼叫順序與更簡潔的呼叫斷言 "
12131215
12141216#: ../../library/unittest.mock-examples.rst:1194
12151217msgid ""
@@ -1218,6 +1220,9 @@ msgid ""
12181220"doesn't allow you to track the order of calls between separate mock objects, "
12191221"however we can use :attr:`~Mock.mock_calls` to achieve the same effect."
12201222msgstr ""
1223+ ":class:`Mock` 類別可以讓你透過 :attr:`~Mock.method_calls` 屬性追蹤 mock 物件"
1224+ "上方法呼叫的\\ *順序*。這不會讓你可以追蹤不同的 mock 物件之間的呼叫順序,然而"
1225+ "我們可以使用 :attr:`~Mock.mock_calls` 來達到相同的效果。"
12211226
12221227#: ../../library/unittest.mock-examples.rst:1199
12231228msgid ""
@@ -1226,19 +1231,27 @@ msgid ""
12261231"separate mocks from a parent one. Calls to those child mock will then all be "
12271232"recorded, in order, in the ``mock_calls`` of the parent:"
12281233msgstr ""
1234+ "因為 mock 會在 ``mock_calls`` 中追蹤對子 mock 的呼叫,且存取 mock 的任意屬性"
1235+ "會建立一個子 mock,所以我們可以從父 mock 建立不同的 mock。之後對這些子 mock "
1236+ "的呼叫將依序全部記錄在父 mock 的 ``mock_calls`` 中:"
12291237
12301238#: ../../library/unittest.mock-examples.rst:1216
12311239msgid ""
12321240"We can then assert about the calls, including the order, by comparing with "
12331241"the ``mock_calls`` attribute on the manager mock:"
12341242msgstr ""
1243+ "之後我們可以透過與管理器 (manager) mock 上的 ``mock_calls`` 屬性進行比較來斷"
1244+ "言呼叫的順序:"
12351245
12361246#: ../../library/unittest.mock-examples.rst:1223
12371247msgid ""
12381248"If ``patch`` is creating, and putting in place, your mocks then you can "
12391249"attach them to a manager mock using the :meth:`~Mock.attach_mock` method. "
12401250"After attaching calls will be recorded in ``mock_calls`` of the manager. ::"
12411251msgstr ""
1252+ "如果 ``patch`` 正在被建立並放置為你的 mock,那麼你可以使用 :meth:`~Mock."
1253+ "attach_mock` 方法將它們附加到管理器 mock。附加之後,呼叫將被記錄在管理器的 "
1254+ "``mock_calls``中。: ::"
12421255
12431256#: ../../library/unittest.mock-examples.rst:1242
12441257msgid ""
@@ -1248,12 +1261,17 @@ msgid ""
12481261"data:`call` object). If that sequence of calls are in :attr:`~Mock."
12491262"mock_calls` then the assert succeeds."
12501263msgstr ""
1264+ "如果進行了多次呼叫,但你只對其中特定呼叫的序列感興趣,則可以是使用 :meth:"
1265+ "`~Mock.assert_has_calls` 方法。這需要一個呼叫串列(使用 :data:`call` 物件建"
1266+ "構)。如果該呼叫序列位於 :attr:`~Mock.mock_calls` 中,則斷言成功。"
12511267
12521268#: ../../library/unittest.mock-examples.rst:1256
12531269msgid ""
12541270"Even though the chained call ``m.one().two().three()`` aren't the only calls "
12551271"that have been made to the mock, the assert still succeeds."
12561272msgstr ""
1273+ "儘管鍊接呼叫 ``m.one().two().three()`` 並不是對 mock 進行的唯一呼叫,斷言仍會"
1274+ "成功。"
12571275
12581276#: ../../library/unittest.mock-examples.rst:1259
12591277msgid ""
@@ -1262,16 +1280,21 @@ msgid ""
12621280"about the order. In this case you can pass ``any_order=True`` to "
12631281"``assert_has_calls``:"
12641282msgstr ""
1283+ "有時,可能會對一個 mock 進行多次呼叫,而你只對斷言其中\\ *某些*\\ 感興趣。你"
1284+ "甚至可能不關心順序。在這種情況下,你可以將 ``any_order=True`` 傳遞給 "
1285+ "``assert_has_calls``:"
12651286
12661287#: ../../library/unittest.mock-examples.rst:1271
12671288msgid "More complex argument matching"
1268- msgstr ""
1289+ msgstr "更複雜的引數匹配 "
12691290
12701291#: ../../library/unittest.mock-examples.rst:1273
12711292msgid ""
12721293"Using the same basic concept as :data:`ANY` we can implement matchers to do "
12731294"more complex assertions on objects used as arguments to mocks."
12741295msgstr ""
1296+ "使用與 :data:`ANY` 相同的基本概念,我們可以實作匹配器 (matcher),對用作對 "
1297+ "mock 的引數的物件進行更複雜的斷言。"
12751298
12761299#: ../../library/unittest.mock-examples.rst:1276
12771300msgid ""
@@ -1282,27 +1305,32 @@ msgid ""
12821305"attributes of this object then we can create a matcher that will check these "
12831306"attributes for us."
12841307msgstr ""
1308+ "假設我們希望將某些物件傳遞給一個 mock,預設情況下,該 mock 會根據物件識別性"
1309+ "(使用者定義類別的 Python 預設值)進行相等比較。要使用 :meth:`~Mock."
1310+ "assert_called_with`,我們需要傳入完全相同的物件。如果我們只對該物件的某些屬性"
1311+ "感興趣,那麼我們可以建立一個匹配器來為我們檢查這些屬性。"
12851312
12861313#: ../../library/unittest.mock-examples.rst:1283
12871314msgid ""
12881315"You can see in this example how a 'standard' call to ``assert_called_with`` "
12891316"isn't sufficient:"
12901317msgstr ""
1318+ "你可以在這個範例中看到對 ``assert_called_with`` 的一個「標準」呼叫是不夠的:"
12911319
12921320#: ../../library/unittest.mock-examples.rst:1298
12931321msgid ""
12941322"A comparison function for our ``Foo`` class might look something like this:"
1295- msgstr ""
1323+ msgstr "對我們的 ``Foo`` 類別的比較函式看起來可能會像這樣: "
12961324
12971325#: ../../library/unittest.mock-examples.rst:1310
12981326msgid ""
12991327"And a matcher object that can use comparison functions like this for its "
13001328"equality operation would look something like this:"
1301- msgstr ""
1329+ msgstr "可以使用這樣的比較函式進行自身相等性運算的匹配器物件會長得像這樣: "
13021330
13031331#: ../../library/unittest.mock-examples.rst:1321
13041332msgid "Putting all this together:"
1305- msgstr ""
1333+ msgstr "把這些都放在一起: "
13061334
13071335#: ../../library/unittest.mock-examples.rst:1326
13081336msgid ""
@@ -1313,12 +1341,18 @@ msgid ""
13131341"``assert_called_with`` passes, and if they don't an :exc:`AssertionError` is "
13141342"raised:"
13151343msgstr ""
1344+ "``Matcher`` 是用我們想要比較的 ``Foo`` 物件和比較函式實例化的。在 "
1345+ "``assert_called_with`` 中,``Matcher`` 相等方法將被呼叫,它將呼叫 mock 的物件"
1346+ "與我們建立匹配器的物件進行比較。如果它們匹配,則 ``assert_called_with`` 會通"
1347+ "過,如果它們不匹配,則會引發 :exc:`AssertionError`:"
13161348
13171349#: ../../library/unittest.mock-examples.rst:1339
13181350msgid ""
13191351"With a bit of tweaking you could have the comparison function raise the :exc:"
13201352"`AssertionError` directly and provide a more useful failure message."
13211353msgstr ""
1354+ "透過一些調整,你可以讓比較函式直接引發 :exc:`AssertionError` 並提供更有用的失"
1355+ "敗訊息。"
13221356
13231357#: ../../library/unittest.mock-examples.rst:1342
13241358msgid ""
@@ -1328,3 +1362,8 @@ msgid ""
13281362"integration.match_equality <https://pyhamcrest.readthedocs.io/en/release-1.8/"
13291363"integration/#module-hamcrest.library.integration.match_equality>`_)."
13301364msgstr ""
1365+ "從版本 1.5 開始,Python 測試函式庫 `PyHamcrest <https://pyhamcrest."
1366+ "readthedocs.io/>`_ 提供了類似的功能,在這裡可能有用,以其相等匹配器的形式 "
1367+ "(\\ `hamcrest.library.integration.match_equality <https://pyhamcrest."
1368+ "readthedocs.io/en/release-1.8/integration/#module-hamcrest.library."
1369+ "integration.match_equality>`_\\ )。"
0 commit comments