Django のユニットテストの assertEqual メソッドを見てみると、
def assertEqual(self, first, second, msg=None):
"""Fail if the two objects are unequal as determined by the '=='
operator.
"""
assertion_func = self._getAssertEqualityFunc(first, second)
assertion_func(first, second, msg=msg)
第一引数は first, 第二引数が second と命名されており、それぞれの変数に用途の違いは無いように見える。
ただし、下記のようなコードを書いて
from django.test import TestCase
class AssertTest(TestCase):
def test_assert_equal(self):
self.assertEqual(
'expected',
'actual'
)
実際にテストが失敗すると、結果に
Failure
Expected :'expected'
Actual :'actual'
と出力されるので、第一引数が Expected, 第二引数が Actual だと思うべきです。
そのため、ユニットテストにハードコーディングする値は Expected なので第一引数、 メソッド実行結果や結果の変数は Acutal なので 第二引数になる。
self.assertEqual(
110,
get_tax_included_price(100)
)
にもかかわらず、実際の Django のユニットテストの例を見ると逆なので、実態としてどっちでも良い。
本当は Black あたりがどっちかに決めてくれると良いと思う。
コメント