### Question:
XzSpider { public void cityInfo() { SetOperations<String, CityInfo> stringCityInfoSetOperations = new RedisTemplate<String, CityInfo>().opsForSet(); for (int i = 1; i <= MAX_CITY_ID; i++) { CityInfo cityInfo = getCityInfo(i); Set<String> members = stringRedisTemplate.opsForSet().members(RedisKey.CITY_KEY); Set<CityInfo> cityInfos = setStringToObj(members, CityInfo.class); if (!cityInfos.contains(cityInfo)) { stringRedisTemplate.opsForSet().add(RedisKey.CITY_KEY, JSONObject.toJSONString(cityInfo)); setCityUrl(cityInfo, 1); } else { List<String> members1 = stringRedisTemplate.opsForList().range(RedisKey.CITY_URL_LIST + cityInfo.getCityId() + ":", 0, -1); setCityUrl(cityInfo, members1.size() + 1); } } }  void spiderUserHistory(TXz user); String spiderCityPage(CityUrlInfo cityUrlInfo); void cityInfo(); void spiderLine(TWoinfo tWoinfo); static final int MAX_CITY_ID; static final String BASE_XZ_URL; static final int START_YEAR; static final int END_YEAR; static final int MONTH; }### Answer:
@Test public void cityInfo() { xzSpider.cityInfo(); }