【通过游戏闯关来测试自己的python掌握能力】教程文章相关的互联网学习教程文章

Python单元测试,在测试用例之前声明【代码】

想象一下我有这样的测试:import unittestclass MyTests(unittest.TestCase):print("Starting")def test_first(self):.....是否可以确保在test_first()和其余代码之前执行print语句?从我所看到的来看,它确实会首先执行,但是有没有边缘情况?解决方法:您可以为此使用setUp()(docs)和setUpClass()(docs)方法. setUp()方法在每个单独的测试之前执行,而setUpClass()方法在此类中的所有测试运行之前执行.import unittestclass MyTests(...

基于AirTest+Python的ios自动化测试demo【代码】【图】

本文我是复制与 https://cloud.tencent.com/developer/article/1379155,在这里也非常感谢大神的分享。 AirTest相比Appuim有个好处就是可以对GUI图片进行捕捉和最新版本支持WebView(目前Appuim不支持iOS12的WebView进行Xpath抓取) AirTest环境搭建可参考以下链接: https://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/1_quick_start.html 环境配置:libimobiledevice: stable 1.2.0 (bottled), HEAD Python 3.7 WebDri...

测试计划库python-时间和事件【代码】

假设我正在Ubuntu远程服务器上使用Schedule库每3天触发一次事件. 代码应类似于以下内容:import schedule import timedef job():print("I'm working...")schedule.every(3).days.at("10:30").do(job)while True:schedule.run_pending()time.sleep(1)如何加快时钟速度或测试此代码?解决方法:您可以用其他方法测试此代码,而不用花费时间. 显然,您可以为job()函数编写一个单元测试(即,确保它正在执行预期的操作).这对您来说可能很明显...

python-模拟范围超出了当前测试【代码】

我在嘲笑一个模块…这是我的示例代码def test_validate(self):"""Test Base Retriever Dataframe"""sampleQuoteClass = self.sampleQuoteClass('ThisQuote')bRet._getAsOfData = MagicMock(return_value=sampleQuoteClass)dataAsDataFrame = bVal.validate(metaDataName='MyNewQuote')self.assertTrue(len(dataAsDataFrame) > 0)这样就可以了. 问题是-bRet._getAsOfData也为下一个测试而模拟,该测试附带地位于其他测试类中. 仅当所...

python-使用登录用户在Flask App上运行Selenium测试【代码】

我正在构建一个Flask支持的Web应用程序,其中所有有趣的页面都位于登录名后面.我想使用Selenium WebDriver对它进行自动化测试.我似乎无法弄清楚如何登录用户并将其与Selenium关联.我尝试的所有操作都会导致Selenium出现在“请登录”页面中. 不可接受的解决方案1:脚本化硒登录 我见过的许多资源(1、2、3等)建议使用脚本化测试手动登录,也就是说,将Selenium导航到登录页面,填写表格,然后单击按钮.由于许多原因,这是一个糟糕的解决方案...

python-即使测试了所有情况,MyPy也会给出错误“ Missing return statement”【代码】

即使在检查函数中所有可能的情况时,我也收到MyPy错误“缺少返回语句”. 例如,在下面的代码中,即使颜色只能是Color.RED,Color.GREEN或Color.BLUE,MyPy仍然给我一个错误“ 9:错误:缺少返回语句”,并且我测试了所有这些情况!class Color(enum.IntEnum):RED: int = 1GREEN: int = 2BLUE: int = 3def test_enum(color: Color) -> str:if color == Color.RED:return "red"elif color == Color.GREEN:return "green"elif color == Colo...

python-Pandas DataFrame:测试是否设置了索引【代码】

我有一个带有多个列的DataFrame,其中一列是datetime类型.有时,此列通过df.set_index(…)用作索引. 在其他情况下,我需要重置该索引以保留datetime列.现在,我正在寻找一种方法来检查数据框是否具有默认索引.我试过了,但这不适用于所有情况:if df.index.name is not None:df.reset_index(inplace=True)我可以测试索引的类型是否为datetime,但是我真的想知道是否存在像df.is_index_set()这样的常规方法.有什么建议吗?解决方法:您不应...

Python 3.6-‘NoneType’测试失败【代码】

我正在从sqlite3数据库中读取并过滤出NoneType,因为我只想要不是None的值.我尝试了两种建议here的方法,结果相同.这使我认为下面的if陈述是正确的,但是我缺少一些更基本的东西.任何建议表示赞赏. 从数据库读取conn.commit()c.execute("SELECT tact FROM LineOEE03 ORDER BY tact DESC LIMIT 1")current_tact = c.fetchone()无类型测试if current_tact is not None:current_tact = int(current_tact[0])else:current_tact = 60错误06...

无法将R chisquare拟合度测试代码的良好度转换为python等效项【代码】

加州大学洛杉矶分校拥有一个进行统计测试的绝佳站点 https://stats.idre.ucla.edu/r/whatstat/what-statistical-analysis-should-i-usestatistical-analyses-using-r/#1sampt 但是代码全在R中.我正在尝试将代码转换为Python等效项,但是对于像卡方拟合优度这样的对象来说,这并不是一个简单的过程.这是R版本:hsb2 <- within(read.csv("https://stats.idre.ucla.edu/stat/data/hsb2.csv"), {race <- as.factor(race)schtyp <- as.fac...

python-在pytest中替换测试用例?【代码】

背景 在Python的unittest框架中,在基础测试集上使用继承将整个测试集应用于新问题,并偶尔添加其他测试是相当普遍的习惯用法.一个简单的例子是:from unittest import TestCaseclass BaseTestCase(TestCase):VAR = 3def test_var_positive(self):self.assertGreaterEqual(self.VAR, 0)class SubTestCase(BaseTestCase):VAR = 8def test_var_even(self):self.assertTrue(self.VAR % 2 == 0)运行时将运行3个测试:$python -m unittest...

为什么python必须生成完整范围以测试是否在范围内浮动?【代码】

这真的很快:1 in range(100000000000000)这真的很慢:1.5 in range(100000000000000)当step必须是整数时,为什么必须生成整个范围才能知道1.5不在range(X)中?解决方法:如果检查source code: 包含功能:range_contains(rangeobject *r, PyObject *ob) {if (PyLong_CheckExact(ob) || PyBool_Check(ob))return range_contains_long(r, ob);return (int)_PySequence_IterSearch((PyObject*)r, ob,PY_ITERSEARCH_CONTAINS); }它似乎在...

python-如何获取通过,失败和从pytest跳过的测试总数【代码】

如何在pytest中获取测试会话的统计信息? 我试图在conftest.py文件中定义pytest_sessionfinish,但是我只在那儿看到testsfailed和testscollected属性. 我还需要知道通过,跳过的测试数量以及花费的总时间.由于pytest在每个会话结束时都会打印该信息,因此我假设有一种编程的方式可以检索该信息.解决方法:使用pytest_terminal_summary挂钩.这些统计信息由terminalreporter对象提供.例:# conftest.pydef pytest_terminal_summary(termi...

单元测试失败后,只读Python文件【代码】

我正在尝试创建一个单元测试来测试以下功能:def decrypt_keys(self, enc_password):with open ('id_rsa','r') as privkeyfile:pem_key = privkeyfile.read()print(pem_key)priv = rsa.PrivateKey.load_pkcs1(pem_key)return rsa.decrypt(base64.b64decode(bytes(enc_password, 'utf-8')),priv).decode('utf-8')但是,单元测试失败并显示以下错误:ValueError: No PEM start marker "b'-----BEGIN RSA PRIVATE KEY-----'" found----...

如何为我的Python脚本生成测试数据?【代码】

方程采用以下形式的值:x = [0x02,0x00] # which is later internally converted to in the called function to 0x300y = [0x01, 0xFF]z = [0x01, 0x0F]如何为此功能生成一系列测试值? 例如我想从for循环发送100个奇数值for i in range(0,300):# where a,b are derived for a rangex = [a,b]我的问题还不清楚,所以请澄清一下.我想问的我该怎么做x = [a,b]为a,b生成不同的值解决方法:使用发电机:def gen_xyz( max_iteration ...

在Python中测试对时间敏感的应用程序【代码】

我用Django编写了一个拍卖系统.我想编写单元测试,但是该应用程序对时间敏感(例如,广告客户的收费金额取决于其广告在网站上投放了多长时间).有什么好的方法可以测试这种类型的应用程序? 这是一个可能的解决方案:DateFactory class,它提供了一些方法来生成可预测的测试日期和生产中的实时值.您对这种方法有任何想法,还是在实践中尝试过其他方法?解决方法:在您提供的链接中,作者在某种程度上拒绝了为进行单元测试而在方法中添加其他...