test-python 进行单元测试的时候出现了一个特别奇怪的问题

问题描述

python 进行单元测试的时候出现了一个特别奇怪的问题
 def test_parse_object():
    result=parse.parse_object([('noun','bear')])
    assert_equal(parse.parse_object([('noun','bear')]),('noun','bear'))
    result = parse.parse_object([('direction','east')])
    assert_equal=(result,('direction','east')

如果将代码的第一行和第二行注释掉,测试就成功了。但是如果没有的话就会出现在这个异常
assert_equal(parse.parse_object([('noun','bear')]),('noun','bear'))
UnboundLocalError: local variable 'assert_equal' referenced before assignment

我在需要测试的代码也用print 查看过结果,是正确的。但是不知道这里为什么老是出现异常

解决方案

assert_equal在哪里定义的?后面那个括号也不全

时间: 2024-10-26 05:42:44

test-python 进行单元测试的时候出现了一个特别奇怪的问题的相关文章

Python的单元测试解析

  这篇文章主要介绍了Python的单元测试,代码基于Python2.x版本,需要的朋友可以参考下 如果你听说过"测试驱动开发"(TDD:Test-Driven Development),单元测试就不陌生. 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. 比如对函数abs(),我们可以编写出以下几个测试用例: 输入正数,比如1.1.2.0.99,期待返回值与输入相同; 输入负数,比如-1.-1.2.-0.99,期待返回值与输入相反; 输入0,期待返回0; 输入

python的单元测试框架nose的安装

python的单元测试框架 nose的安装 采用easy_install的方式安装nose 1.先安装easy_install easy_install 方便python 安装第三方扩展包的工具 Easy Install 是一个Python的模块(easy_install),跟 setuptools 绑定在一起,提供自动的程序下载.编译.安装和管理 Python 的包 1)先下载easy_install的安装包 http://pypi.python.org/pypi/setuptools 2)p

想读取不同路径的python程序输出结果读取入另一个python程序进行 不知道用什么函数-

问题描述 想读取不同路径的python程序输出结果读取入另一个python程序进行 不知道用什么函数- 想读取不同路径的python程序输出结果读取入另一个python程序进行 不知道用什么函数- 解决方案 直接用subprocess等,然后可以读取stdout等管道输出 解决方案二: 直接用subprocess等,然后可以读取stdout等管道输出 解决方案三: dbf文件使用python读取程序

Python自动单元测试的例子

Python unittest模块的相关用法 待测源码类:widget.py #!/usr/bin/env python class Widget: def __init__(self, size = (40, 40)): self._size = size def getSize(self): return self._size def resize(self, width, height): if width == 0 or height < 0: raise ValueError, "

Python Django还是RoR,这是一个问题

 看了limodou 在上期程序员杂志推荐的Python Django框架,于是选择Django用来书写热点自动发现的Web界面.Python本身的优势.友好的URL.方便的template.MVC,都是让书写Django顺畅|好心情的原因.   但是再往下,还是有点担心.一是Ajax,寻找了一圈,也就是"Ajax With Django"这篇文章给出的资源还靠谱:二是将来升级的问题.   对于Ajax和Django的集成问题,到底选择集成Dojo,还是选择集成JQuery,还是像Tu

Python程序员都该用的一个库

本文的作者来自知名 Python 库 Twisted 开发团队,首先举例说明了在 Python 中定义类是多么的麻烦,然后给出了自己的解决方案:attrs 库.从介绍来看,确实方便很多. 你写 Python 程序吗?那你应该使用 attrs. 你问为什么?我只能说,不要问,直接用就好了. 好吧,我还是解释一下. 我热爱 Python,这十多年来一直是我的主力编程语言.尽管期间也出现过一些有意思的语言(指的是 Haskell 和 Rust),但我还不打算换到其他语言. 这不是说 Python 没有

《树莓派Python编程指南》——2.2 一个Python游戏:猫和老鼠

2.2 一个Python游戏:猫和老鼠 现在,让我们开始第二个Python程序.这次你将写出一个猫和老鼠的游戏.游戏者使用方向键来控制老鼠,使其保持在猫的前方(由计算机控制猫).保持时间越长,得分越高. 下面例子中的程序名字是Chapter2-catandmouse.py. 打开一个IDLE3新窗口并输入下面的代码: 代码很多,在仔细读之前可以先试玩几次感受一下.这样也可以检验你的输入是否完全正确.如果程序出错,先检查下输入,然后再试一下.图2-4给出了程序运行界面. 2.2.1 理解变量 程序

在Linux上安装Python的Flask框架和创建第一个app实例的教程_python

无论你在linux上娱乐还是工作,这对你而言都是一个使用python来编程的很好的机会.回到大学我希望他们教我的是Python而不是Java,这学起来很有趣且在实际的应用如yum包管理器中很有用. 本篇教程中我会带你使用python和一个称为flask的微型框架来构建一个简单的应用,来显示诸如每个进程的内存使用,CPU百分比之类有用的信息.前置需求 Python基础.列表.类.函数.模块.HTML/CSS (基础). 学习这篇教程你不必是一个python高级开发者,但是首先我建议你阅读https

用testdriven做单元测试为什么说“提供了一个无效的参数”?

问题描述 刚开始学testdriven,这个是从网上找的代码usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingNUnit.Framework;namespaceClassLibrary1{[TestFixture]publicclassTestClass{[Test]publicvoidAddTwoNumbers(){inta=1;intb=2;intsum=a+b;Assert.AreEqual(sum,3);}