🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
类图如下: ![https://box.kancloud.cn/ef0fe66249062b15d2efd7a8656ff362_1066x226.png](https://box.kancloud.cn/ef0fe66249062b15d2efd7a8656ff362_1066x226.png) 时序图如下: ![https://box.kancloud.cn/f11526a6e77c87f5e0ee4ff48d04405a_1360x552.png](https://box.kancloud.cn/f11526a6e77c87f5e0ee4ff48d04405a_1360x552.png) 我们参考时序图,进行代码的编写 ``` /** * 更新klass * @param id * @param name * @param teacherId */ public static void updateKlassByIdNameTeacherId(Long id, String name, Long teacherId) { KlassDao klassDao = new KlassDao(); Klass klass = (Klass)klassDao.get(id); klass.setName(name); klass.setTeacherId(teacherId); klassDao.update(klass); return; } ``` # 测试 ``` @Test public void updateKlassByIdNameTeacherIdTest () { Long id = 1L; String name = "更新班级"; Long teacherId = 10L; // 注意,该值必须存在于Teacher表中。 KlassServer.updateKlassByIdNameTeacherId(id, name, teacherId); // 获取这个班级信息 Klass klass = KlassServer.getKlassById(id); assertEquals(klass.getId(), id); // 判断 assertEquals(klass.getName(), name); // 判断 } ``` 在这,我们引用了Junit的assertEquals来判断期待的结果与返回的结果是否相同。 ![https://box.kancloud.cn/e764fbf6ce515035e5d42a76ff1306de_1466x144.png](https://box.kancloud.cn/e764fbf6ce515035e5d42a76ff1306de_1466x144.png) 我们看到,没有报错,说明测试通过。 我们把最后一行代码改为:`assertEquals(klass.getName(), "zhangsan"); // 判断` 然后再试试看 > 在实际的开发中,制定一个合理的测试用例显示尤为重要。 <hr /> 思索:如果将Long teacherId改为100, 则测试将会报错,说找不到100的Teacher实体。实际上也是这样,我们需要保证传入的teacherId必须是合法的。如果让你解决这个问题,你该怎么做呢?