口吻は、より高いレベルのテストを容易に鼻の拡張機能です。
テストクラスは、このような基は、彼らが他のテストに依存している、と彼らは無視されるべきであるかどうかどうか、であるものとして有用なメタデータが含まれてデコレータを経由して登録するためにそれらを強制することで発見される方法を変更。
テングザルは、それが鼻に渡すテストスイートを構築する目的の実行順序に、登録されたすべてのテストをソートします。それはあなたが正確なテストクラスに渡さずに実行したいテストのグループを指定することは可能ですように、それはまた、このリストをフィルタリングすることができます。スキップのように実行時には、失敗している他のテストに依存してテストが自動的にマークされている。
この機能の多くは、TestNGのことで、「インスピレーション」だった。あなたがそのフレームワークから来ている場合は、主な機能は、現在、テングザル申し出依存テストの順序(現在はクラスレベルに限る。)及びそれらのモジュールやパッケージの構造の独立したグループにあなたのテストをアレンジする機能です。
テングザルで、それはこのようなウェブサービス(またはあなたが一度だけ初期化したいのですが、いくつかの他の依存性)に依存してテストを書くことが可能です:
@Test(グループ= ["service.tests"]、depends_on_groupsの= ["service.initialization"])
   クラスWhenConnectingAsAdmin(unittest.TestCaseの):
        DEF test_change_profile_image(自己):
            self.client = mymodule.ServiceClient(service_config)
            self.assertEquals(「default.jpg」、self.client.get_profile_image())
            self.client.set_profile_image(「spam.jpg」)
            self.assertEquals(「spam.jpg」、self.client.get_profile_image())
次に起動し、正常にシャットダウンするようにコードを記述し、そのファーストクラスのテスト自体として、他のモジュールでWebサービス:
@Test(グループ= ["service.initialization"])
   クラスStartWebServer(unittest.TestCaseの):
        DEF test_start(自己):
            #Webサーバーを起動し、[接続]を発行します。
            mymodule.start_web_server()
           クライアント= mymodule.ServiceClient(service_config)
            self.assertTrue(client.service_is_up)
    @Test(グループ= ["service.shutdown"]、
          depends_on_groups = ["service.initialization」、「service.tests"]、
          never_skip =真)
   クラスStopService(unittest.TestCaseの):
       デフtest_stop(自己):
           クライアント= mymodule.ServiceClient(service_config)
            client.service_is_up場合:
                mymodule.stop_web_server()
                self.assertFalse(client.service_is_up())
テングザルを使用してあなたがテストは、あなたがより多くのテストクラスを追加する場合でも、所望の順序で実行し、その名前を変更したり、別のモジュールに移動します安心することができます。
の要件の:。
- のPythonます。
- 鼻ます。
コメントが見つかりません