Pyramid下启用RobotFramework测试的便利包。
项目描述
使用RobotFramework进行Pyramid测试
最终,Pyramid得到了它的Robot。
这是一个便利包,用于在Pyramid中启用Robot Framework测试。Robot Framework是一个通用的测试自动化框架,用于验收测试和验收测试驱动开发(ATDD),围绕Selenium2。它集成了Asko Soukka的robotsuite,该套件允许Robotframework无缝集成unittest和WebTest HTTP客户端/服务器实用程序。
由于robotsuite与plone.testing层一起工作,我们需要在测试模板中设置一个。这是因为robotsuite最初是为与Plone测试框架一起工作而设计的,但我们通过包含robotsuite期望创建测试层的方式完全脱离了它。
只需像以下这样设置您的测试模板
import os import robotsuite import unittest from webtest import http from paste.deploy import loadapp from pyramid_robot.layer import Layer, layered class myPyramidLayer(Layer): defaultBases = () def setUp(self): conf_dir = os.path.dirname(__file__) app = loadapp('config:test.ini', relative_to=conf_dir) self.server = http.StopableWSGIServer.create(app, port=8080) def tearDown(self): self.server.shutdown() PYRAMIDROBOTLAYER = myPyramidLayer()
您应该提供一个有效的paste deploy .ini 文件来初始化您的测试应用程序。这可以与您用于运行应用程序的文件类似,根据您的测试需求进行定制。模板在测试文件夹中查找此文件。然后我们将创建一个监听指定端口的服务器。有关其他自定义,请参阅WebTest文档。
然后我们定义我们的测试套件如下
def test_suite(): suite = unittest.TestSuite() current_dir = os.path.abspath(os.path.dirname(__file__)) robot_dir = os.path.join(current_dir, 'robot') robot_tests = [ os.path.join('robot', doc) for doc in os.listdir(robot_dir) if doc.endswith('.robot') and doc.startswith('test_') ] for test in robot_tests: suite.addTests([ layered(robotsuite.RobotTestSuite(test), layer=PYRAMIDROBOTLAYER), ]) return suite
这将准备套件,并将在测试文件夹内的 robot 文件夹中搜索任何扩展名为 .robot 的文件。
示例
您可以在测试文件夹中找到一个非常简单的测试应用、一个设置和一个示例机器人测试。
缺点
把这叫作缺点,我把它叫作特性 ;)
您只能使用 zope.testing.testrunner 运行测试,否则它们将被忽略。我认为也可以使用其他测试运行器,如 nose,欢迎贡献。
您可以使用包含在根包中的 zope.testing.testrunner 轻松设置 zc.buildout 环境。
$ python bootstrap.py $ ./bin/buildout
然后,为了能够运行示例测试
$ ./bin/test
文档
请参阅 RobotFramework 文档了解如何使用它
http://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/wiki/HowToWriteGoodTestCases
http://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html?r=2.7.6
http://robotframework.googlecode.com/hg/doc/libraries/BuiltIn.html?r=2.7.6
http://rtomac.github.com/robotframework-selenium2library/doc/Selenium2Library.html
变更日志
1.1 (2015-08-31)
添加了 Python 3.4 支持。
1.0 (2013-07-02)
初始版本
项目详情
pyramid_robot-1.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e27fd75272f7d7daa9c2501470708bbb3429534600291a003de02671c5eac089 |
|
MD5 | b6fc7fee4ae8ed6bb6fed526631d0bf0 |
|
BLAKE2b-256 | f7596adb1acff1cba73067e82f53a2da8758754a4b4c1a02d3f5b4f8be48b43d |