1.インポートユニットテスト
unittestのモジュールが導入されます。
2.クラスSearchTest(たunittest.TestCase):
サブクラスを定義するテストケース継承されます。
3.デフセットアップ(自己):
試験方法executorが優先的試験方法の各実行に先立って実行(同じ環境に依存することができ、各試験方法を確保するために)。
この方法は、パラメータを取らないし、値を返しません。
4.デフtest_search_by_category(自己):
試験()メソッドは、テストケースクラスに実装され、重要な点は、試験の開始と命名方法をテストする必要があることである。この規則は、試験方法を表すテストランナー方式を通知します。
5. self.assertEqual(1、LEN(製品))
期待される結果を検証するためにassertEqual(期待値、実際の値)を呼び出します。
この検証プログラムの検索語のと返されたが、期待した結果が一致するかどうかの結果。
6.デフティアダウン(自己):
TestCaseクラスは、完了するために、テスト後の初期値のすべてをクリーンアップするティアダウン()メソッドが呼び出されます。
)テストが実行されると、(セットアップで定義された値方法はもはや必要ではないので、ベストプラクティスは、テストの値が完了すると、セットアップ()メソッドによって初期化を一掃することです。
7。
__name__ == '__main__' の場合:
unittest.main(冗長= 2)
実行して、コマンドラインをテストするために、我々はテストケース内のメインメソッドの呼び出しを追加することができます。
詳細なテストをするために渡される冗長性のパラメータは、コンソールで合計金額を示しています。
冗長性は、オプションであり、三つの値は、情報の複雑さの試験結果があることを意味します
0(サイレントモード):あなただけの合計を得ることができ、テストケースをして、そのような失敗20成功80の100の結果の合計の合計
1 (默认模式): 非常类似静默模式 只是在每个成功的用例前面有个“.” 每个失败的用例前面有个 “F”
2 (详细模式):测试结果会显示每个测试用例的所有相关的信息
并且 你在命令行里加入不同的参数可以起到一样的效果
加入 --quiet 参数 等效于 verbosity=0
加入--verbose参数等效于 verbosity=2
什么都不加就是 verbosity=1
8. 改初始化和结束初始化的方法级别的方法为类级别的方法,类级别的方法,无论类中有多少个用例,都只会共用一个浏览器;
@classmethod
def setUpClass(cls):
@classmethod
def tearDownClass(cls):
9. 方法中的self指向类的实例,有点this的意思,不加self的变量是本地变量,加了就是实例变量;
10. 测试用例执行顺序解决办法:
1. 测试套件
testcase = unittest.TestLoader().loadTestsfromTestCase(测试类)
suites = unittest.TestSuite()
suites.addTest(class('testcase')
2. TestCase的名称:按照1-9,A-Z,a-z
3. 补充unittest的框架:如链接楼主的utx;