免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2927 | 回复: 6
打印 上一主题 下一主题

python 初级问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-21 21:53 |只看该作者 |倒序浏览
这是复制的一段代码,老运行错误,大家给看看哪里有误,我要做单元测试,也是刚入手python,还没弄懂,谢谢
用python怎么写个脚本抓手机屏幕图片,公司有人写好了,可我找不到他定义的函数,谢谢大家帮忙了。
import sys
import unittest
from unittest import TestCase, FunctionTestCase, TestSuite, TextTestRunner, defaultTestLoader

class MyClass(object):
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def func1(self, x, y):
        return self.x + self.y

    def func2(self, x, y):
        return self.x - self.y

class TestMyClass(TestCase):
    def setUp(self):
        print 'setUp', hex(id(self))
        self.instance = MyClass(1, 2)

    def tearDown(self):
        print 'tearDown'

    def test_func1(self):
        self.assertEqual(self.instance.func1(), 3)


    def test_func2(self):
        self.assertEqual(self.instance.func2(), -1)


if __name__ == '__main__':
    unittest.main()

论坛徽章:
0
2 [报告]
发表于 2011-02-22 21:01 |只看该作者
没做过单元测试,不过看你这段代码,貌似fanc1和fanc2两个函数定义了x, y两个参数,但实际上都没有用

论坛徽章:
0
3 [报告]
发表于 2011-02-22 23:22 |只看该作者
你连错误的信息也没有发表出来,别人怎么能帮你呢、?

论坛徽章:
0
4 [报告]
发表于 2011-02-24 22:31 |只看该作者
回复 3# zqy1005


    IDLE 2.6.6      
>>> ================================ RESTART ================================
>>>
setUp 0x20ebdf0
tearDown
.setUp 0x20ebe30
tearDown
.
----------------------------------------------------------------------
Ran 2 tests in 0.030s

OK

Traceback (most recent call last):
  File "C:\Python26\unittest0211.py", line 32, in <module>
    unittest.main()
  File "C:\Python26\lib\unittest.py", line 817, in __init__
    self.runTests()
  File "C:\Python26\lib\unittest.py", line 865, in runTests
    sys.exit(not result.wasSuccessful())
SystemExit: False
>>>

这个是运行有的错误信息,Traceback提示看不懂,目前为止还没有解决这个。

论坛徽章:
0
5 [报告]
发表于 2011-02-24 22:33 |只看该作者
回复 2# qu-hao


    有用啊,
   在后面的testmyclass中assert就用到了,错误信息你看我后面粘贴的内容,谢谢了。

论坛徽章:
0
6 [报告]
发表于 2011-02-25 10:07 |只看该作者
window下面cmd运行没有错。

F:\>python b.py
EsetUp 0xad69b0
EtearDown
setUp 0xad69d0
EtearDown

======================================================================
ERROR: str(object) -> string
----------------------------------------------------------------------
TypeError: 'str' object is not callable

======================================================================
ERROR: test_func1 (__main__.TestMyClass)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "b.py", line 25, in test_func1
    self.assertEqual(self.instance.func1(), 3)
TypeError: func1() takes exactly 3 arguments (1 given)

======================================================================
ERROR: test_func2 (__main__.TestMyClass)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "b.py", line 29, in test_func2
    self.assertEqual(self.instance.func2(), -1)
TypeError: func2() takes exactly 3 arguments (1 given)

----------------------------------------------------------------------
Ran 3 tests in 0.016s

FAILED (errors=3)

论坛徽章:
0
7 [报告]
发表于 2011-02-25 13:02 |只看该作者
回复 6# flying_away


     喔,windows cmd下面我还没有试过,之前都是用IDLE 直接F5运行的,我再试试看,谢谢.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP