我用Django编写了一个拍卖系统.我想编写单元测试,但是该应用程序对时间敏感(例如,广告客户的收费金额取决于其广告在网站上投放了多长时间).有什么好的方法可以测试这种类型的应用程序? 这是一个可能的解决方案:DateFactory class,它提供了一些方法来生成可预测的测试日期和生产中的实时值.您对这种方法有任何想法,还是在实践中尝试过其他方法?解决方法:在您提供的链接中,作者在某种程度上拒绝了为进行单元测试而在方法中添加其他...
我正在使用Django开发一个Web项目,并且正在使用python unittest框架.对于每个应用程序,我都有一些固定装置.这意味着,每个应用程序在灯具中都有一些相同的表.我想在应用程序和测试用例之间共享固定装置,因为否则,如果我更改模型,则必须更改引用此具体表的所有json固定装置. 使用全局夹具是否明智?解决方法:不要使用静态治具,这是一个不好的自动化测试模式.使用动态灯具. Django Dynamic Fixture具有创建全局夹具的选项.检查其Nose ...
在我的Django应用程序中,我混合了doctests(在models.py和views.py中定义)和单元测试(在tests.py中定义).我可以通过执行以下操作来调用单个单元测试:manage.py test app.TestCase但是,这似乎不适用于doctest.有什么方法可以运行单个doctest(在models.py或views.py中定义)?解决方法:我发布了一个小脚本,可让您在项目中的特定文件或模块中运行doctest.从特定文件或模块运行doctest:LINK. 它可以确保加载正确的测试环境(模拟manage....
如何测试将文件上传作为POST参数的Pylons控制器(使用鼻子测试)?解决方法:像这样:class TestUploadController(TestController):// ....def test_upload_files(self):""" Check that upload of text file works. """files = [("Filedata", "filename.txt", "contents of the file")]res = self.app.post("/my/upload/path", upload_files = files)上传文件通常需要经过身份验证的用户,因此您可能还需要将“ extra_environ”参数传递...
我正在使用鼻子测试来测试几个脚本.但是,当我运行鼻子测试时,它会打印出日志.我知道它将日志记录信息存储到sys.stderr中.有谁知道如何阻止它输出到屏幕? 我只希望测试结果像正常运行unittest一样输出. 谢谢你的帮助解决方法:找到了答案,nosetests test* --nologcapture --nocapture在命令行中运行它. 谢谢
我想做的是创建一个文件夹,人们可以在其中放置文件进行测试,并让pyunit自动展开以将测试作为单独的测试运行.目前,我正在做的是:class TestName(unittest.testcase):def setUp(self):for file in os.listdir(DIRECTORY):# Setup Testsdef test_comparison(self):for file in os.listdir(DIRECTORY):# Run the testsdef suite():return unittest.TestSuite([ unittest.TestLoader().loadTestsFromTestCase(TestName), ])if __name__...
@序章 自动化测试是软件测试的主流方向之一; 教程从测试的根本需求出发,讲解如何施展自动化测试。 首先,我们要明白,自动化仅仅是满足我们某种需求的一种工具;没有必要花费时间把它全部弄懂;我们只需要学会它的一些功能,然后让它为我们工作;仅此而已。 python+selenium环境部署 官方地址:https://www.python.org/ 这是最新版本的安装包。 python2.x的和python3.x的有极大区别,语法上有很多不同;但python3.x之间的差别...
在Django项目中,单元测试通常由应用程序组织,而Django提供了一种工具来运行所有测试,针对单个应用程序的测试,单个测试用例或单个测试方法. 但是,我发现单个应用程序中的测试用例通常属于单独的逻辑组或集群,并且仅能够运行单个测试组通常会很有用.想象一下,例如: >我有几个测试用例,涵盖了单个模型的每个不同配置,并且我想在开发模型时运行所有这些(包括它们). (这特别麻烦,因为这样做的便宜方法是将测试用例集中在一起,所以现在您...
我有一个用C编写的程序,使用automake / autoconf构建,并且具有两个测试套件.一个是也用C编写的单元测试套件.另一个是端到端的(当前)是用Python编写的.我希望“ make check”始终运行单元测试,并且仅当安装了Python时才进行端到端测试.这就是我现在所拥有的:TESTS = unittests if HAVE_PYTHON TESTS += tester.py tester_py_SOURCES = src/test/tester.py.intester.py: src/test/tester.py.in Makefile$(SED) -e 's,[@]PYTHON[@],$...
有没有一种方法可以使python单元测试(我正在使用2.6,我有unittest2可用)在发生错误或失败时立即等待,而无需等待所有测试完成? 还有一个额外的问题:)有没有办法订购测试.例如,拉动可能在前面失败的测试?解决方法:使用-f选项运行unittest.Options:-f, --failfast Stop on first failure示例:./auth_test.py -f 在auth_test.py结尾的位置if __name__ == '__main__':unittest.main()订购-我不这么认为.至少不是开箱即用.但是,您只...
我正在自己的python测试框架上工作,我想在PyCharm内使用它.这是否只能通过实现自定义插件来实现?还是有另一种(更简单的)方法将我的框架添加到PyCharm的测试运行器中?如果可以在没有插件的情况下完成操作,那么PyCharm与框架之间的过程将是怎样的?需要进行什么样的交互?解决方法:在PyCharm中支持测试框架的代码包括两部分:IDE插件(用Java编写并在PyCharm中运行)和运行时组件(用Python编写并与您的测试框架集成). IDE插件提供了用...
我当时正在考虑重命名测试套件中的某些内置函数,但是我发现这样做会对全局产生影响(当我期望它们仅对局部产生影响时).例如:import time def test():time.sleep = "hello" #woah there! time is mutable so this won't just apply locally!print time.sleep #prints <built-in function sleep> test() print time.sleep #prints hello (!)我是否必须将time.sleep恢复为test()结束之前的状态? 不鼓励这样做吗?我应该如何进行这种测...
我是Python的新手,所以在这里请耐心等待.说,我有以下结构:parentDir\runTests.pycommonpageelements.py testcases\__init__.pytest1.pytest2.py我想初始化webdriver并在runTests.py中打开页面,然后将参数传递给test1.py,test2.py等.对于此示例,我具有test1.py的登录测试.我还希望有一个包含常见页面元素的pageelements.py文件.我将在下面详细介绍python文件. 对于commonpageelements.py,我只是简单地定义了各种元素,例如username ...
我想将Python 3.3与小型独立程序中的单元测试一起使用,即,我不想将其分为命令行部分和“功能”部分,如果它是在自身上启动的,则可以对其进行测试命令行. 所以我有这个小程序:import unittestdef stradd(a, b):return a + bclass test_hello(unittest.TestCase):def test_1(self):self.assertEqual(stradd("a", "b"), "ab")unittest.main() print(stradd("Hello, ", "world"))不幸的是,由于unittest.main()退出程序,所以从未达到pri...
是否可以配置pycharm / intellij idea运行tox测试?我想在单独的py环境中针对不同的python版本测试我的代码.我正在尝试配置它,但到目前为止,我仅设法配置了一个py.test支持.解决方法:恐怕不支持,PyCharm将使用配置的解释器来运行测试. 欢迎您访问submit a feature request.