備品

備品、クリーンテストを書くための再利用可能な状態など
今すぐダウンロード

備品 ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • The Apache License 2.0
  • 出版社名:
  • Robert Collins
  • 出版社のWebサイト:
  • http://bazaar.canonical.com

備品 タグ


備品 説明

備品、清潔なテストなどを書くための再利用可能な状態 固定具は、主にユニットテストのために、再利用可能な状態/サポートロジックのPythonの契約を定義するツールです。ヘルパーと適応ロジックは、それが簡単に備品の契約を使用して独自の備品を書くことにするために含まれています。グルーコードがことが提供される容易unittestの互換性テストケースにおける備品契約を満たす固定具を使用して行うと直forward.Why FixturesStandardパイソンunittest.pyが製造および方法にを添加することによって以外のテストケースで必要な状態を再利用するための明白な方法を提供しませんテストクラス。これは、スケール不十分 - テストクラス階層をpropogating複雑なヘルパー関数これが行われたときに規則的なパターンです。あざける.Byはヘルパーがテストクラスに依存しない均一な契約を定義する素晴らしいツール自体がこれを妨げるものではない(とテストクラスの上に置かれた場合、複雑な物事を模擬するためにヘルパーは同じように蓄積することができます)しながら、私たちはすべて許可しますTestCaseクラスのヘルパーはfrom.About FixturesAフィクスチャは、いくつかの状態を表して苦しむものです - 完全に異なるものをモデル化されたクラス階層にあるの歪曲影響を受けずに場所を取るために、通常のコード衛生活動。各固定具は、固定具に固有のもので、それに属性を持っています。たとえば、一時ファイルのために使用することができるディレクトリを表すの固定具は、属性「path'.Creating FixturesMinimally、サブクラスフィクスチャは、あなたの状態を初期化とクリーンアップが呼び出されたときのために、クリーンアップをスケジュールするには、セットアップを定義している可能性がありますし、あなたは完了です。 >>>インポートunittestの>>>インポート器具>>>クラスNoddyFixture(fixtures.Fixture):...デフセットアップ(自己):...スーパー(NoddyFixture、自己).setUp()... self.frobnozzle = 42 ... self.addCleanup(delattr、自己、「frobnozzle」)セットアップが呼び出され、クリーンアップが呼び出されたときにattribute.Thereが備品に関数または関数のペアを適合させるためのヘルパーですfrobnozzleを取り除くときにはfrobnozzleを初期化します。それはfn_resultに関数の結果を置きます:>>>インポートはos.path >>>インポートshutil >>>インポート一時ファイルは>>>デフsetup_function():...リターンtempfile.mkdtemp()>>>デフteardown_function(フィクスチャ):... shutil.rmtree(フィクスチャ)>>>フィクスチャ= fixtures.FunctionFixture(setup_function、teardown_function)>>> fixture.setUp()>>>印刷os.path.isdir(fixture.fn_result)トゥルー>> > fixture.cleanUp()を導入する上記器具APIThe例フィクスチャAPIの一部。固定具が使用された後にクリーンアップすることができるようにするために、全ての固定具は、固定具を使用して、事前に関連する器具の特定のセットを構築することができるように、そのいいwith.Because終了したときに呼び出さなければならないクリーンアップ方法を定義しますそれら、備品も作成することが高価であり、固定具をthem.One共通の願いを使用しようとすると、多くのテストケースでそれらを再利用することである前に呼び出さなければなりませんsetUpメソッドを定義しています。この器具はまたself.cleanUp()を呼び出し、リセットを定義するベース支持します。 self.setUp()。より効率的に再利用可能で、このメソッドをオーバーライドする必要があります自分自身を作ることができ備品。これは、あなたが手動設定とクリーンアップメソッドを呼び出すことができるテストでフィクスチャを使用してtestresources、setUpClass、またはsetUpModule.Whenのようなものを介して複数のテスト状態で使用することができます。より便利にかかわらず、この方法(unittestのは全体キャメルケースであるため、キャメルケース)useFixtureを規定ミックスインを提供fixtures.TestWithFixturesから含まれる接着剤を使用することです。それは、治具でセットアップを呼び出すクリーンアップをスケジュールするself.addCleanup(金具)を呼び出し、固定具を返します。これは、1件の書き込みをすることができます:>>>インポートtesttools >>>インポートunittestNote我々はTestCase.addCleanup方法を保証する必要があるとして、testtoolsがここでテストケースを使用すること。 >>>クラスNoddyTest(testtools.TestCase、fixtures.TestWithFixtures)... DEF test_example(自己):...固定具= self.useFixture(NoddyFixture())... self.assertEqual(42、fixture.frobnozzle) >>>結果= unittest.TestResult()>>> _ = NoddyTest( 'test_example')。実行(結果)>>>印刷result.wasSuccessful()TrueFixturesあなたはまた、Aとしての固定具を使用することができるように、コンテキストプロトコルを実装コンテキストマネージャ:>>>治具としてfixtures.FunctionFixture(setup_function、teardown_function)と:...印刷os.path.isdir(fixture.fn_result)真の要件: ・Python


備品 関連ソフトウェア