Fixtures

ソフトウェアのスクリーンショット:
Fixtures
ソフトウェアの詳細:
バージョン: 0.3.14
日付のアップロード: 14 Apr 15
開発者: Robert Collins
ライセンス: 無料
人気: 17

Rating: 5.0/5 (Total Votes: 1)

備品主にユニットテストのために、再利用可能な状態/サポートロジック用のPythonの規約を定義するツールです ヘルパーと適応論理は備品の契約を使用して独自の備品を書くことを容易にするために含まれています。グルーコードは簡単で、まっすぐ進むunittestの互換性のテストケースにおける備品契約を満たす備品を使用して行うが提供される。
のはなぜ備品
Pythonの標準unittest.pyは、テストクラスのメソッドを追加することによって以外のテストケースに必要な状態を作り、再利用するための明らかな方法を提供していません。これは不十分なスケール - これが行われたときテストクラス階層を送られるのを複雑なヘルパー関数が規則的なパターンである。素晴らしいツール自体は(テストクラスに置かれている場合と同じように蓄積することができ、複雑な物事をモックとヘルパー)これを防ぐことはできませんしながら、あざける。
ヘルパーはテストクラスに依存関係を持たない均一な契約を定義することによって、我々は完全に異なるものをモデル化しているクラス階層の中にいる歪める影響を受けずに場所を取るためにすべての通常のコード衛生活動を許可 - テストケースに何ヘルパーである苦しむ。
備品の概要<強い>
フィクスチャは、いくつかの状態を表します。各固定具は、フィクスチャーに固有のそれの属性を持っています。たとえば、一時ファイルのために使用することができるディレクトリを表す治具は、属性 'パス'を持っているかもしれません。
の作成備品
最低限、サブクラスフィクスは、あなたの状態を初期化し、クリーンアップが呼び出され、設定が完了したら、のためにクリーンアップをスケジュールするためのセットアップを定義します。
>>>インポートユニットテスト
>>>輸入備品
>>>クラスNoddyFixture(fixtures.Fixture):
... DEFのsetUp(自己):
...スーパー(NoddyFixture、自己).setUp()
... self.frobnozzle = 42
... self.addCleanup(delattr、自己、「frobnozzle ')
セットアップが呼び出され、クリーンアップが呼び出されたときにfrobnozzle属性を取り除くとき、これはfrobnozzleを初期化します。
備品に関数または関数のペアを適応させるためのヘルパーがあります。それはfn_resultにおける関数の結果を置きます:
>>>インポートはos.path
>>>輸入shutil
>>>輸入一時ファイル
>>> DEF setup_function():
...リターンtempfile.mkdtemp()
>>> DEF teardown_function(フィクスチャー):
... shutil.rmtree(フィクスチャー)
>>>フィクス= fixtures.FunctionFixture(setup_function、teardown_function)
>>> fixture.setUp()
>>>印刷os.path.isdir(fixture.fn_result)

>>> fixture.cleanUp()
のフィクスチャAPI
上記の例では、フィクスチャAPIのいくつかを紹介します。フィクスが使用された後にクリーンアップできるようにするために、すべての備品は、フィクスチャを終了したときに呼び出されるべきでクリーンアップメソッドを定義します。
その素晴らしいが、それらを使用する前に、関連備品の特定のセットを構築することができるようにするので、備品もそれらを使用しようとする前に呼び出す必要がありますsetUpメソッドを定義している。
作成するには高価で備品の一つの共通の願いは、多くのテストケースでそれらを再利用することです。これをサポートするために基本フィクスも()self.cleanUpを呼び出してリセットを定義します。 self.setUp()。より効率的に自身が再利用可能にすることができ備品は、このメソッドをオーバーライドする必要があります。次いで、これをtestresources、setUpClass、またはsetUpModuleのようなものを介して、複数のテスト状態で使用することができる。
テストでフィクスチャを使用する場合は、手動設定とクリーンアップメソッドを呼び出すことができます。しかし、より便利(ユニットテストは全体でキャメルケースであるため、キャメルケース)useFixtureを定義するミックスインを提供fixtures.TestWithFixturesからインクルード糊メソッドを使用することです。それは、フィクスチャーでセットアップを呼び出すクリーンアップをスケジュールするself.addCleanup(フィクスチャー)を呼び出し、固定具を返します。これは、1つの書き込みをすることができます:
>>>輸入testtools
>>>インポートユニットテスト
我々はTestCase.addCleanupメソッドを保証する必要があるように私たちはtesttoolsを使用注ここにTestCaseの。
&NBSP; >>>クラスNoddyTest(testtools.TestCase、fixtures.TestWithFixtures):
&NBSP; ... DEF test_example(自己):
&NBSP; ...フィクスチャ= self.useFixture(NoddyFixture())
&NBSP; ... self.assertEqual(42、fixture.frobnozzle)
&NBSP; >>>結果= unittest.TestResult()
&NBSP; >>> _ = NoddyTest( 'test_example')(結果)を実行します。
&NBSP; >>>印刷result.wasSuccessful()
&NBSP;真
備品は、コンテキストプロトコルを実装するので、あなたはまた、コンテキストマネージャとしてフィクスを使用することができます。
>>>フィクスとしてfixtures.FunctionFixture(setup_function、teardown_function)と:
...印刷os.path.isdir(fixture.fn_result)

の要件

  • のPythonます。

同じようなソフトウェア

filterunit
filterunit

11 May 15

Linux Test Project
Linux Test Project

12 May 15

qc
qc

14 Apr 15

開発者の他のソフトウェア Robert Collins

へのコメント Fixtures

コメントが見つかりません
コメントを追加
画像をオンにする!