Discuss / Python / 单元测试作业

单元测试作业

Topic source
class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score

    def get_grade(self):
        if not isinstance(self.score, int):
            raise TypeError
        elif self.score > 100 or self.score < 0:
            raise ValueError
        if self.score >= 80:
            return 'A'
        if self.score >= 60:
            return 'B'
        return 'C'

以上代码可以通过老师给的测试,但是从数据安全上来说应该在__init__方法里就对score的type和大小进行判断。如下:

class Student(object):
    def __init__(self, name, score):
        if not isinstance(score, int):
            raise TypeError
        elif score > 100 or score < 0:
            raise ValueError
        self.name = name
        self.score = score

    def get_grade(self):
        if self.score >= 80:
            return 'A'
        if self.score >= 60:
            return 'B'
        return 'C'

bzny虫

#2 Created at ... [Delete] [Delete and Lock User]

附议,不过只是例子,理解就好


  • 1

Reply