class Student(object): def __init__(self, name, score): self.name = name self.score = score def get_grade(self): if self.score > 100: raise ValueError elif self.score >= 80: return "A" elif self.score >= 60: return "B" elif self.score < 0: raise ValueError else: return "C"import unittestclass TestStudent(unittest.TestCase): def test_80_to_100(self): s1 = Student("Bar", 80) s2 = Student("Aar", 100) self.assertEquals(s1.get_grade(), "A") self.assertEquals(s2.get_grade(), "A") def test_60_to_80(self): s1 = Student("Car", 60) s2 = Student("Dar", 79) self.assertEquals(s1.get_grade(), "B") self.assertEquals(s2.get_grade(), "B") def test_0_60(self): s1 = Student("Ear", 0) s2 = Student("Far", 59) self.assertEquals(s1.get_grade(), "C") self.assertEquals(s2.get_grade(), "C") def test_invalid(self): s1 = Student("Gar", -1) s2 = Student("Har", 101) with self.assertRaises(ValueError): s1.get_grade() with self.assertRaises(ValueError): s2.get_grade()if __name__ == '__main__': unittest.main
很好,学到了
Sign in to make a reply
bug管理员
很好,学到了