【14、python异常处理及断言】教程文章相关的互联网学习教程文章

断言通过时,Python unittest调用函数【代码】

当测试中的断言通过时,我找不到do_something()的方法.例如:def test_one(self):self.assertEqual(1,1, "Did not match")如果断言失败,该测试将打印“不匹配”,但在这种情况下它不会,所以我试图在self.assertEqual()成功时调用函数或打印一些东西,请问任何想法? 谢谢解决方法:如果你想在某些东西通过时打印,有几个选项.但是,请不要使用Noeld’s answer.并不是说它错了,只是当unittest提供更好的方法时,你不希望用一堆打印消息来混...

断言传递给python mock中的模拟方法的对象【代码】

假设我有一个名为Client的类,它创建Request类的对象并将其传递给Connection对象的方法:class Client(object):def __init__(self, connection):self._conn = connectiondef sendText(plaintext):self._conn.send(Request(0, plaintext))我想断言传递给Connection.send方法的对象来检查它的属性.我首先创建一个模拟的Connection类:conn = Mock()client = Client(conn) client.sendText('some message')然后我想要这样的东西:conn....

第11.19节 Python 中正则表达式的扩展功能:前视断言和前视取反【代码】

一、 引言 在《第11.16节 Python正则元字符“()”(小括号)与组(group)匹配模式》中老猿介绍了组匹配模式的命名组功能及引用组功能,这两者都是组模式的扩展功能,其实在re模块中组模式的扩展功能非常多,所有组模式的扩展功能,都是在组定义的左括号后面跟问号“?”来表示,具体扩展功能是要看问号后面的字符来确认,如“P”表示组名相关扩展。 下面介绍组匹配模式扩展功能的前视断言和前视取反,本节继本章后面介绍的扩展功能...

第11.20节 Python 中正则表达式的扩展功能:后视断言、后视取反【代码】

一、 引言 在《第11.19节 Python 中正则表达式的扩展功能:前视断言和前视取反》中老猿介绍了前视断言和前视取反,与二者对应的还有后视断言和后视取反。 二、 (?<=…)后视断言(lookbehind assertion) 后视断言又称为正向后视断言、后视断定、后行断言等,与前视断言功能类似,只是前视断言是找匹配串的右边要与前视断言指定的模式匹配,而后视断言是找匹配串的左边要与后视断言指定的模式匹配。 语法:(?<=…),其中…为一个子正...

在Python中使用正则表达式中的lookbehind和负向lookbehind断言打结【代码】

我有一个Pandas数据框,它有一列字符串数据,由两个不同的部分组成,用正斜杠分隔.我想从字符串的“右侧”提取文本模式,但是如果存在特定的字符串模式则不能.以下简单的例子说明了这个问题.import numpy as np import pandas as pd import remyDF = pd.DataFrame({'pet':['rabbit','mammal/rabbit','mammal/small fluffy rabbit','mammal/lop-eared rabbit','mammal/many rabbits','mammal/jack rabbit']})所以,数据框看起来像:pet 0...

python – py.test将消息和测试结果/断言记录到单个文件中【代码】

我现在开始使用py.test进行新项目.我们正在配置Linux服务器,我需要编写一个脚本来检查这些服务器的设置和配置.我认为py.test是实现这些测试的好方法,直到现在它才能正常工作. 我现在面临的问题是,在这些测试结束时我需要一个日志文件,显示每个测试的一些日志消息和测试结果.对于日志消息,我使用logger:logging.basicConfig(filename='config_check.log', level=logging.INFO) pytest.main() logging.info('all done')作为示例测试...

python – 程序的断言测试,用于检查列表是否是另一个列表中的子列表【代码】

我编写了一个小程序,应检查给定列表是否是另一个列表中的子列表,并返回True或False:def is_sublist_of(sublist, given):""" Returns whether the sublist is part of the given combination.The order of the sublist must also correspond to the order of thecorresponding part in the given combination."""return sublist in [given[i:i+len(sublist)] for i in range(0,len(given)-len(sublist))]此代码是我必须执行的赋值的...

python – 模拟类和断言方法调用【代码】

难以理解如何模拟一个类,并能够断言它的’方法是用一些参数调用的.当我断言调用时,我得到一个“未调用”断言但是,我可以在mock_calls属性中看到方法调用. 沙盒/ module.pyclass Subject(object):def __init__(self):passdef run(self, *args, **kwargs):reference = Reference(*args, **kwargs)reference.method_a(*args)class Reference(object):def __init__(self, *args, **kwargs):passdef method_a(self, *args):passtest.pyi...

python断言浮动列表【代码】

使用assert比较浮动列表似乎直接开箱即用 – 有人知道幕后发生了什么,例如EPSILON的价值是多少? 作为一名C程序员,这一切让我感到不安……我原本以为断言可能只是比较指针,但似乎做了一些明智的事情:a = [1.0,2.0] b = [1.0,2.0] c = [1.0,2.01] d = [1.0, 2.0000000000000001]assert a==b # ok assert a==c # no go assert a==d # ok解决方法:它不是断言是比较浮点数列表,它是==运算符(或operator.eq). list .__ eq__只是推迟到其...

python – nump.load跟随numpy.savez的断言错误【代码】

我有5个numpy数组a,b,c,d和e都定义为:array([1, 2, 3, 4, 5, 6, 7, 8, 9])我正在保存这些数组:np.savez_compressed('tmp/test',a=a,b=b,c=c,d=d,e=e)这会导致创建一个test.npz文件. 但是我在尝试加载数据时遇到问题(如下例所示):>>> f=np.load('tmp/test.npz') >>> f.files ['a', 'c', 'b', 'e', 'd'] >>> f['a']给出一大串错误,结尾于:File "C:\Python27\lib\compiler\transformer.py", line 754, in atom_lbrace return self...

如何为python / selenium中的特定元素断言文本?【代码】

有没有办法断言特定元素中没有文字?我正在尝试测试一个登录页面,当您输入无效的登录信息并想要测试一开始没有文本时,会弹出一条错误消息. 这是页面加载时首次显示的HTML元素:<div class="message ng-binding”/>然后在输入无效信息时更改为:<div class="message ng-binding">Your email address or password is invalid.</div>我试过这样做:elem = browser.find_element_by_css_selector("div.message.ng-binding") self.asser...

python – Anaconda的NumbaPro CUDA断言错误【代码】

我正在尝试使用NumbaPro的cuda扩展来增加大型阵列矩阵.我最终想要的是将大小为NxN的矩阵乘以一个对角矩阵,该矩阵将作为一维矩阵输入(因此,a.dot(numpy.diagflat(b))我发现它是一个同义词* b).但是,我收到的断言错误没有提供任何信息. 如果我将两个1D阵列矩阵相乘,我只能避免这个断言错误,但这不是我想要做的.from numbapro import vectorize, cuda from numba import f4,f8 import numpy as npdef generate_input(n):import numpy ...

Python 断言(assert)方法

assertEqual(a,b,[msg=测试失败时打印的信息]): 断言a和b是否相等,相等则测试用例通过。 assertNotEqual(a,b,[msg=测试失败时打印的信息]): 断言a和b是否相等,不相等则测试用例通过。assertTrue(x,[msg=测试失败时打印的信息]): 断言x是否True,是True则测试用例通过。assertFalse(x,[msg=测试失败时打印的信息]): 断言x是否False,是False则测试用例通过。assertIs(a,b,[msg=测试失败时打印的信息]): 断言a是否是b,是...

python – 在pytest中断言时忽略dict中的元素【代码】

我想知道在pytest中执行断言时是否有办法忽略dict中的元素.我们有一个断言,它将比较包含last_modified_date的列表.日期将始终更新,因此无法确定日期是否等于最初输入的日期. 例如:{'userName':'bob','lastModified':'2012-01-01'}谢谢松鸦解决方法:我通过创建等于所有东西的对象解决了这个问题:class EverythingEquals:def __eq__(self, other):return Trueeverything_equals = EverythingEquals()def test_compare_dicts():asse...

断言是Python中的有效函数【代码】

假设我有以下代码,它接受一个距离函数和两个点,并吐出距离:def distance(dist_fun, p1, p2):## SOME ASSERTION HERE on dist_fun #### Suppose, just for this post, we've already checked p1 and p2 are ## n-tuples of integers.assert (len(p1) == len(p2)), "Coordinates are different dimensions."dist = dist_fun(p1, p2)assert (dist>=0), "Negative distance is not possible."return distdef euclid(p1, p2): #as an ...