Pythonの初心者ですが、pytestまたはunittestのいずれかを使用して記述したコードをPythonでテストすることによって、コーディングを学びたいと思います。その点で、私は、入力として複数のアレイに関するアサーションをテストする方法を思ったんだけど:複数の整数配列のテストを書くには?
私は整数を返すことを目的と機能extractDifferentNumber
は、整数のシーケンスの残りの部分に属していませんがあります。
def extractDifferentNumber(df):
df_set = set(df)
for each in df_set:
if df.count(each) == 1:
return each
:
# print(extractDifferentNumber([10,11,10,10,10,10,10])) 11
# print(extractDifferentNumber([20,11,20,20,20])) 11
# print(extractDifferentNumber([1,1,1,1,2])) 2
今、私は私の機能が期待される結果を返すことを確認するためにunittestを使用したい:数字の列のうち異なる数がいることを抽出し
その点で
class SingleDifferentNumberTestCase(unittest.TestCase):
"""Test for `myfunction.py`"""
def setUp(self):
self.input = [10,11,10,10,10,10,10]
self.expected = [11]
def test_is_different(self):
"""Is a number different then the others"""
self.assertTrue(extractDifferentNumber())
if __name__ == '__main__':
unittest.main()
、私は2つの質問がある:
にはどうすればいいself.input
とself.expected
など複数のアレイ/テストケースを含むことができ、どのように私はunittestの使用して、インスタンスのためのself.assertTrue
のような適切なアサーションを上げることができますか?
方法[1,2,3]はどうですか? – Copperfield
@Copperfield:どうか、単体テストの書き方についての質問です。特定のアルゴリズムでコーナーケースを処理する方法に関するものではありません。マンバは確かに私たちにMVCEを提供しました。 – 2ps
@ 2psよく、あなたはすでにその部分を扱っています。コーナーケースも考慮してみてください。より良いアルゴリズムを手助けするものです。 – Copperfield