重构测试代码和实现代码