- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我完全不熟悉使用 Python WebTest 进行功能测试,请多多包涵
我在看 https://webtest.readthedocs.org/en/latest/webtest.html , 所以我尝试了建议的代码来发出请求:
app.get('/path', [params], [headers], [extra_environ], ...)
好的,对我来说看起来很简单。我在 myapp 文件夹中创建了一个名为 test_demo.py 的文件:
from webtest import TestApp
class MyTests():
def test_admin_login(self):
resp = self.TestApp.get('/admin')
print (resp.request)
现在这就是我遇到的问题,我应该如何运行这个 test_demo.py?我试过输入 bash
$ bin/python MyCart/mycart/test_demo.py test_admin_login
但它没有显示任何结果。
我敢打赌我一定是出了什么问题,但是文档帮不上什么忙,或者我的速度太慢了。
最佳答案
糟糕,您错过了一些步骤。
您的程序没有做任何事情,因为您没有告诉它做任何事情,您只是定义了一个类。所以让我们告诉它做点什么。我们将使用 unittest包使事情更加自动化。
import unittest
from webtest import TestApp
class MyTests(unittest.TestCase):
def test_admin_login(self):
resp = self.TestApp.get('/admin')
print (resp.request)
if __name__ == '__main__':
unittest.main()
运行它,我们看到:
E
======================================================================
ERROR: test_admin_login (__main__.MyTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test_foo.py", line 6, in test_admin_login
resp = self.TestApp.get('/admin')
AttributeError: 'MyTests' object has no attribute 'TestApp'
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
好的,所以我们需要一个应用程序来测试。去哪里买?您通常需要通过 config.make_wsgi_app()
在 main
中创建的 WSGI 应用程序。最简单的方法是加载它,就像 pserve development.ini
在您运行应用程序时所做的那样。我们可以通过 pyramid.paster.get_app()
来做到这一点。
import unittest
from pyramid.paster import get_app
from webtest import TestApp
class MyTests(unittest.TestCase):
def test_admin_login(self):
app = get_app('testing.ini')
test_app = TestApp(app)
resp = test_app.get('/admin')
self.assertEqual(resp.status_code, 200)
if __name__ == '__main__':
unittest.main()
现在所需要的只是一个与您的 development.ini
类似的 INI 文件,但用于测试目的。您可以只复制 development.ini
,直到您需要设置任何仅用于测试的设置。
希望这能给您一个起点,让您了解更多关于 unittest
包的信息。
关于python - 使用 Python WebTest 进行功能测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15250276/
我目前正在用 Python 编写 Java 反编译器,并希望添加一些自动化功能测试。我有一堆简短的 Java 代码,需要确保它们反编译没有错误,输出代码编译,并且生成的程序给出预期的输出。 我计划使用
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
如何对 .net mvc Controller /操作进行功能测试。 我刚刚经历了多年的 Rails 开发,开始从事 .net mvc 的工作。这很痛苦,但我希望这很大程度上只是学习曲线。 对我而言,
我设置了 grunt 任务,以便在我的本地机器上使用 CasperJS 进行一些功能测试。一切正常。 我想知道是否有办法一直运行测试直到失败?或者通过一定次数的测试? 最佳答案 在 powershel
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 5个月前关闭。 Improve this q
我在 Wiki 和其他几个地方阅读有关功能测试的内容,但我没有明白一件事 - 为什么它被视为纯粹的黑盒测试?当我测试功能时,我经常依赖于实现方面的知识,或者至少依赖于诸如边界值(或数据库中的数据类型等
我想为 java servlet 编写一些功能测试,并且我想确保它适用于所有可能干扰 servlet 的过滤器和其他随机 java web 内容。在 Java 中有没有好的方法来做到这一点? 我注意到
我希望有人能阐明我面临的这个问题。 [问题] 我在功能单元测试中模拟了 doctrine.orm.default_entity_manager 服务。我将其注入(inject)到客户端服务容器中,这样
我们有一个 Mule 应用程序,它有 6 个或 7 个流,每个流大约有 5 个组件。 这是设置。 我们将 JMS 请求发送到 ActiveMQ 队列。骡听着。根据消息的内容,我们将其转发到相应的流。
我发现 Symfony2 中的功能测试总是尝试将页面请求为“http://localhost” 我的环境是用虚拟主机设置的,所以我的应用程序位于“http://symfony.dev” 经过一些测试,
我有一个 Controller ,我想为其创建功能测试。该 Controller 通过 MyApiClient 向外部 API 发出 HTTP 请求。类(class)。我需要模拟这个 MyApiCli
如题。 ruby test / functionals / whatevertest.rb不起作用,这需要我将所有require 'test_helper'替换为require File.dirnam
我正在使用Grails的功能测试插件为我的RESTful API项目准备功能测试用例。 我无法使用适用于我的其他情况的技术上传文件。 class CreateFunctionalSpec{ final
我有一个用 Python 3 编写的 API 包装类 WfcAPI,我想使用 PyUnit 对其进行测试. WfcAPI 的 setUpClass() 涉及登录到外部 API 服务器。当前功能测试实现
如果操作返回 json 对象,我如何在 Symfony 功能测试中测试响应? 我有密码 with('response')->begin()-> isHeader('content-type','a
我刚开始使用 AngularJS 进行测试。请帮我解决它。我的剧本 angular.module('test', []) .controller('ctrl', ['$scope', 'svc', f
你好, 我一直在思考描述特征的实质(Gherkin语法),找不到最佳答案。 同一场景的两个例子: Scenario: Creation of a new task Given I see the bu
我正在 Julia 中处理一组函数,我必须开发一组覆盖测试。我有一个函数在一个元组中返回 3 个值。 我怎样才能做这样的测试: @test_approx_eq_eps() 这将适用于所有三个输出值,它
我应该为所有嵌套方法编写单元测试,还是为调用者编写一个测试就足够了? 例如: void Main() { var x = new A().AFoo(); } public class A {
最近在研究django测试。因为我需要在我的网站上构建单元测试和集成测试。但是我发现 django 中集成测试的教程真的很少,而且经常在我点击名为“集成测试”的链接时出现,我只看到标题“功能测试”。那
我是一名优秀的程序员,十分优秀!