質問例ではログイン モジュールを使用しています。コードは次のとおりです。
def login_check(username,password): ''' 登录校验的函数 :param username:账号 :param password: 密码 :return: ''' if 6<=len(password)<=18: if username=='admin' and password=='123456': return {'code':0,'msg':'登录成功'} else: return {'code':1,'msg':'账号密码不正确'} else: return {'code':1,'msg':'密码长度在6-18之间'}
単体テストとは:
単体テスト (単体テスト) は、ソフトウェア内のテスト可能な最小単位の検査と検証を指します
単体テストの実行方法:
最初にテスト ケースを作成する必要があります。およびテスト ケースの主な要素 (番号、タイトル、前提条件、操作手順、期待される結果、実際の結果)
単体テスト フレームワークの中核となる 4 つの概念
1.TestCase
: テストケース インスタンスはテスト ケースです。
2.TestSuite
: 複数のテスト ケースがまとめられています
3.TextTestRunner
: テスト ケースの実行に使用されます
4.fifixture
: テスト ケース環境のセットアップと破棄、テスト前環境の構築(setUp)、テストコードの実行(run)、テスト後の環境の復元
(tearDown)
ログインテストケースのタイトルは次のとおりです。
1. ユーザー名とパスワードは正しいです
2. ユーザー名が存在しません
3. パスワードは 6 文字未満です
4. パスワードは 18 ビットより大きいです
5. ユーザー名は空であり、テスト ケースを実行します
import unittest #引用单元测试模块 from day8.登录测试代码 import login_check #将登陆模块代码引入 class Login_test(unittest.TestCase): def setUp(self): print("执行用例前都会执行这个方法,类似前置条件") def tearDown(self): print("用例执行完后 都会执行该方法") def test_login_success(self): #登录成功用例 result=login_check('admin','123456') #这个是实际结果 expect='登录成功' #这个是预期结果 self.assertEqual(result['msg'],expect) #将实际结果和预期结果做比较,输出完全相同则通过 输出结果是OK
def test_username_nonentity(self): #用户名不存在用例 result=login_check('admininin','111222333') expect='用户名不存在' self.assertEqual(expect,result['msg']) #反之,如果不通过输出结果如下图
注:
def メソッドはテスト ケースです。
メソッド名はユースケースのタイトルであり、ユースケースのメソッド名はテキストで始まる必要があります__
関連学習の推奨事項: Python ビデオ チュートリアル
#
以上がPython 単体テストと単体テスト フレームワークの使用法の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。