python - 如何测试我的代码

标签 python function class testing python-3.3

我无法获得我想要的代码输出。我想测试一个类以及该类中定义的函数。这是我的代码:

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/

相关文章:

python - 遍历子目录,到示例文件

python - 交叉熵总是大于熵吗?

python - 日期的 Pandas 分位数函数?

Python 包导入未纳入函数中

r - 将元素添加到 R 中的调用对象

c++ - 如何使一个函数只能从另一个函数调用?

class - Dart - 对象实例化和方法调用中的错误

c++ - 如何有条件地实例化一个对象?

python - 我们可以说从数学角度来说,Python 代码的时间复杂度比 C 代码更好吗?

Python 类基础