详解如何使用Pytest进行自动化测试

北京雀斑诚信医院 http://m.39.net/baidianfeng/bdfzz/xcyy/

#contentofpytest.ini#Example1:havepytestlookfor"check"insteadof"test"#canalsobedefinedintox.iniorsetup.cfgfile,althoughthesection#nameinsetup.cfgfilesshouldbe"tool:pytest"[pytest]python_files=check_*.pypython_classes=Checkpython_functions=*_check

让我们看一下非常基本的测试函数。

classCheckClass(object):defone_check(self):x="this"asserthinxdeftwo_check(self):x="hello"asserthasattr(x,check)

//test_wallet.pyfromwalletimportWalletdeftest_default_initial_amount():wallet=Wallet()assertwallet.balance==0wallet.close()deftest_setting_initial_amount():wallet=Wallet(initial_amount=)assertwallet.balance==wallet.close()deftest_wallet_add_cash():wallet=Wallet(initial_amount=10)wallet.add_cash(amount=90)assertwallet.balance==wallet.close()deftest_wallet_spend_cash():wallet=Wallet(initial_amount=20)wallet.spend_cash(amount=10)assertwallet.balance==10wallet.close()

importpytestfrom_pytest.fixturesimportSubRequestfromwalletimportWallet#====================fixtures

pytest.fixturedefwallet(request:SubRequest):param=getattr(request,‘param,None)ifparam:prepared_wallet=Wallet(initial_amount=param[0])else:prepared_wallet=Wallet()yieldprepared_walletprepared_wallet.close()#====================testsdeftest_default_initial_amount(wallet):assertwallet.balance==0

pytest.mark.parametrize(‘wallet,[(,)],indirect=True)deftest_setting_initial_amount(wallet):assertwallet.balance==

pytest.mark.parametrize(‘wallet,[(10,)],indirect=True)deftest_wallet_add_cash(wallet):wallet.add_cash(amount=90)assertwallet.balance==

pytest.mark.parametrize(‘wallet,[(20,)],indirect=True)deftest_wallet_spend_cash(wallet):wallet.spend_cash(amount=10)assertwallet.balance==10pytest.mark.parametrize(‘wallet,[(10,)],indirect=True)pytest.mark.parametrize(“setting_name,setting_value”,[(‘qdb_mem_usage,‘low),(‘report_crashes,‘yes),(‘stop_download_on_hang,‘no),(‘stop_download_on_disconnect,‘no),(‘reduce_connections_on_congestion,‘no),(‘global.max_web_users,‘),(‘global.max_downloads,‘5),(‘use_kernel_congestion_detection,‘no),(‘log_type,‘normal),(‘no_signature_check,‘no),(‘disable_xmlrpc,‘no),(‘disable_ntp,‘yes),(‘ssl_mode,‘tls_1_2),])deftest_settings_defaults(self,setting_name,setting_value):assertproduct_shell.run_



转载请注明地址:http://www.gongjingmilanagjml.com/glyy/7994.html
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 热点文章

    • 没有热点文章

    推荐文章

    • 没有推荐文章