我无法获得我想要的代码输出。我想测试一个类以及该类中定义的函数。这是我的代码:
class Book:
# the class constructor
def __init__(self, author, title, book_id):
self.title = title
self.author = author
self.book_id = book_id
def __str__(self):
s = "Books("+self.author+", "+self.title+", "+self.book_id+")"
return s
def __repr__(self):
return str(self)
我所做的尝试测试是这样的:
>>> author="Dr. Suess"
>>> title="The Cat in the Hat"
>>> book_id="12345"
>>> Book
<class '__main__.Book'>
>>>
我得到的输出是最后一行。我可能做错了,但我不知道如何测试它。如果有人可以告诉我那就太好了!
最佳答案
当您在解释器中输入 Book
时,您将获得实际的 Book
类表示形式作为输出。 __repr__
和 __str__
都引用 Book
的实例,而不是类本身。因此,要测试这一点,您必须实例化一个 Book
:
>>> b = Book("Dr. Suess", "The Cat in the Hat", "12345")
>>> b
"Books(Dr. Suess, The Cat in the Hat, 12345)"
记住 - 类就像实例的蓝图。在本例中,Book
定义了 Book
的含义,但它实际上并未定义实际的 Book
对象 - 为此,您需要使用我所做的代码创建一个 Book
实例。
关于python - 如何测试我的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20436233/