本书中的示例代码使用此处显示的测试模块:
def square(x):
'''raise x to the second power'''
return x * x
import test
print('testing square function')
test.testEqual(square(10), 100)
但是,当我写出脚本并使用IDLE运行它时,我收到以下错误:
testing square function
Traceback (most recent call last):
File "/Users/ivan/Documents/scripts/Untitled.py", line 7, in <module>
test.testEqual(square(10), 100)
AttributeError: module 'test' has no attribute 'testEqual'
检查全局模块索引&gt;测试模块显示首选方法是使用unittest模块。这是给出的例子:
import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
def test_isupper(self):
self.assertTrue('FOO'.isupper())
self.assertFalse('Foo'.isupper())
def test_split(self):
s = 'hello world'
self.assertEqual(s.split(), ['hello', 'world'])
# check that s.split fails when the separator is not a string
with self.assertRaises(TypeError):
s.split(2)
if __name__ == '__main__':
unittest.main()
问题是我们没有学习任何过去的单位测试,如本例所示。
有没有办法在这个问题的第一个脚本中使用unittest模块?
答案 0 :(得分:0)
我想这本python书在测试模块下有自己的简化单元测试。 如果你想创建这样一个简单的测试,你可以创建一个像下面这样的函数并调用该函数。
def testEqual(x,y):
if x==y:
print('Passed')
else:
print('Failed')
testEqual(square(10), 100)