6

私はGithubが初めてです。ユニットテストケースを書くのは初めてです。私はプロジェクトに貢献しましたが、所有者から、修正前に失敗し、修正後に機能する単体テストケースを提供するように依頼されました。どうすればそれを行うことができますか?まとめて書きましょうか。一度に 1 つのコードのコピー (つまり、修正ありまたは修正なし) があります。Python を使用して unittest をインポートしています。私は混乱しています。修正前に例外が発生するので、そのために assertRaises() を使用する必要があります。たくさん読みましたが、始めることができません。

4

1 に答える 1

5

次の壊れたdelta関数の修正があるとします。

壊れたバージョン:

def delta(a, b):
    return a - b

修正版:

def delta(a, b):
    return abs(a - b)

次に、次のテストケースを提供します。壊れたバージョンでは失敗し、修正されたバージョンで動作します。

import unittest

from module_you_fixed import delta

class TestDelta(unittest.TestCase):
    def test_delta(self):
        self.assertEqual(delta(9, 7), 2)
        self.assertEqual(delta(2, 5), 3)

if __name__ == '__main__':
    unittest.main()

プロジェクトは標準ライブラリの unittest モジュールを使用すると仮定しました。プロジェクトが使用するフレームワークを使用する必要があります。

于 2013-06-13T05:56:16.940 に答える