重构 test