【在python单元测试中模拟一个类和一个类方法】教程文章相关的互联网学习教程文章

Python是否有首选的BDD样式单元测试框架?【代码】

我想知道是否有任何BDD风格的’describe-it’单元测试框架,用于维护和生产就绪.我找到了describe,但似乎没有维护,也没有文档.我还发现sure达到1.0,但它似乎只是添加语法糖而不是写断言.我真正想要的是与RSpec和Jasmine类似的东西,使我能够设置测试套件. describe-it语法允许测试函数的多个案例.与经典的断言结构相比,它可以测试每个函数一次并具有多个断言来测试多个案例.这打破了单元测试的隔离.如果有一种方法可以实现与断言式测...

python – 确定测试是单元测试还是集成测试【代码】

所以我正在尝试为我的python项目决定计划和组织测试套件的方式,但我怀疑单元测试何时不再是单元测试,我希望得到一些来自社区的反馈. 如果我理解正确: >单元测试测试代码的最小部分,如果一个函数/方法只做一个简单的事情,即使它有几个用例.>集成测试测试在相同的上下文,环境等下执行的两个或更多单元代码(但是尝试将其保持在每个集成测试的最小单位)可以很好地协同工作,而不仅仅是它们自己. 我的疑问是:假设我有一个执行HTTP请求的...

Python中的Flask测试 – 在repo中构建一个API,其中有许多用于通过import_module对其进行单元测试【代码】

我们有一个ETL数据API仓库.我们在其中进行所有etl处理,然后在API中吐出数据.这些API一次运行一个命令,从一个命令传递资源类到服务器以构建API.资源类位于__init__.py中的Web目录中. 这是一个很好的约定,使用起来非常简单,但我遇到的问题来自于试图获得3个API中的一个可用于测试.我们的目录结构是这样的(调用项目’番茄’)tomato- category_api- web- etl- test- here is where we are writing some tests (test_category_api.py)- ...

Python中的单元测试涉及两个列表【代码】

我正在用Python进行单元测试,我试图检查两个列表中的元素是否在彼此的特定范围内.我正在考虑的两个列表是yield和list_of_yields,并且正在考虑使用self.assertEqual(round(yield-list_of_yields,7),0).但是 – 列表是一个不受支持的类型,所以我的两个问题是如何检查元素是否在一定范围内以及如何对多个元素执行断言,因为我被告知有多个断言是不好的做法.我看到this answer,但我的问题略有不同. 谢谢解决方法:如果要按照它们出现的确...

python – 为返回对象层次结构的函数编写单元测试

我有一个函数,在输入向量列表上执行层次聚类.返回值是对象层次结构的根元素,其中每个对象表示一个集群.我想测试以下内容: >每个群集是否包含正确的元素(也可能包含其他属性)?>每个群集是否指向正确的孩子?>每个群集是否指向正确的父级? 我这里有两个问题.首先,如何以可读格式指定预期输出.其次,我如何编写一个test-assertion接受我提供的预期数据的同构变体?假设预期层次结构中的一个集群有两个子节点A和B.现在假设集群由具有...

python – 如何在单元测试中杀死套接字以进行重新连接测试【代码】

我正在尝试测试一些在断开连接后重新连接到服务器的代码.这在测试之外完全正常,但它无法确认套接字在运行测试时已断开连接. 我正在使用Gevent Stream Server来模拟真实的侦听服务器:import gevent.server from gevent import queueclass TestServer(gevent.server.StreamServer):def __init__(self, *args, **kwargs):super(TestServer, self).__init__(*args, **kwargs)self.sockets = {}def handle(self, socket, address):self...

在Python 3中,如何在模块内修补功能以进行单元测试?【代码】

我有装饰方法将时间发送到托管的石墨实例,它们看起来像下面的内容 views.pyfrom util import send_timing@send_timing('login') def login_user():if is_user_ok():return Truereturn False@send_timing('get_user_info') def get_user_info():return get_that_info()我有一个定义装饰器的util文件 util.pydef send_timing(f):def decorated(*args):make_network_connection()ret = f(*args)return decorated我有一些单元测试 test...

如何在谷歌应用引擎中运行python单元测试【代码】

我对谷歌应用程序引擎和python相当新,所以请耐心等待.我正在尝试第一次对gae进行python单元测试,同时遵循Webapp2的指南 但是当我运行测试时,我不断收到以下错误:Traceback (most recent call last):File "test.py", line 2, in <module>import webapp2 ImportError: No module named webapp2这是我的test.py文件:import unittest import webapp2# from the app main.py import mainclass TestHandlers(unittest.TestCase):def te...

Python单元测试多个线程【代码】

我正在测试一个Web应用程序,我已经使用unittest编写了一些测试.有一些必要的步骤,如授权,交换正在测试的数据等等.现在我想测试一下客户端是否一切正常.实际上我想在单独的线程中为每个客户调用相同的测试,收集所有返回码和打印结果.我的问题是如何在python中创建这样的线程? (我在bash中的临时解决方案会产生多个python进程) 我们来看一个例子:import unittestclass Test(unittest.TestCase):def setUp(self):passdef tearDown(s...

python – 为scrapy CrawlSpider方法创建单元测试【代码】

最初的问题 我正在编写一个CrawlSpider类(使用scrapy库)并依赖大量scrapy异步魔法来使其工作.这是剥离的:class MySpider(CrawlSpider):rules = [Rule(LinkExtractor(allow='myregex'), callback='parse_page')]# some other class attributesdef __init__(self, *args, **kwargs):super(MySpider, self).__init__(*args, **kwargs)self.response = Noneself.loader = Nonedef parse_page_section(self):soup = BeautifulSoup(self...

python – 编写单元测试类的__init__方法【代码】

我是单元测试和编写/使用异常的新手.我目前正在努力学习最佳实践并将它们集成到我的项目中.作为对我一直在阅读的一些事情的考验,我写了一个简单的合同模块.下面是契约类的init,它有几个相互依赖的参数. 我将如何/应该根据其参数依赖性为init方法编写测试. 提前致谢!def __init__(self, code, description ,contract_type,start_date ,end_date ,reminder_date, customer=None, isgroup=False, vendor=None, discount_perc=None):c...

python – 在单元测试中使用errno和assertRaises【代码】

我在单元测试中使用assertRaises来测试特定异常的引发.assertRaises(IOError, testToRun, passedValues)虽然我需要捕获的一些异常具有特定的错误号(错误号),因此我不想收集基本异常,而是想捕获与该异常相关的特定错误号.像这样的东西,虽然它显然不起作用:)assertRaises(IOError.errno(2), testToRun, passedValue)为了解决这个问题,当我想捕获我一直在使用的特定编号的例外时: – try:testToRun(passedValues) except IOError, e:...

python – 为具有全局变量的方法创建单元测试【代码】

我有一个程序使用了许多全局变量,我希望为程序中的一些方法编写一些单元测试. 当我开始编写代码时,我是python的新手,现在意识到我应该一直在测试.该计划中的一些方法如下:class Wordnet():def __init__(self):self.graph = Graph()self.before_at = ''self.after_at = ''self.word_part = ''self.gloss_part = ''self.lex_filenum = ''def process_file(self):self.file = open("testing_line.txt", "r")return self.filedef line...

用户输入的密码进行Python单元测试【代码】

我正在尝试单元测试访问远程服务的python代码.我正在使用PyUnit和python 2.7. 在setUpClass方法中,代码提示用户输入服务的密码.我想保持所有模块化,所以我为每个被测试的类创建了单独的单元测试类.这些类都访问相同的远程服务,它们都使用setUpClass方法的一个超类定义. 我的问题是我必须多次重新输入密码(每个测试类一次).我很懒.我只想为所有单元测试输入一次密码.我可以通过在单元测试中对密码进行硬编码来避免这个问题,但这是一...

如何对函数调用的序列进行单元测试,以实现功能[python]【代码】

我想对函数进行单元测试并断言函数workflow()内部是否进行了函数调用.就像是,[1st called] fetch_yeargroup_ls()[2nd called] invoke_get_links()....... 我搜索了很多讨论,但从来没有找到一个回答我的问题.解决方法:如果您使用的是mock,则可以在修补这些函数时创建模拟作为父模拟的属性:try:# Python 3from unittest.mock import MagicMock, patch, call except ImportError:# Python 2, install from PyPI firstfrom mock impor...

单元测试 - 相关标签