java – 迭代Test中的所有Play Framework路由
发布时间:2020-12-15 03:08:32 所属栏目:Java 来源:网络整理
导读:有没有办法迭代路由文件中的所有描述的服务?需要URL和HTTP方法. 我需要此功能来运行一些集成测试. 我正在使用Play for Java. 解决方法 不容易.我不久前设法破解了我的方式(没有scala诀窍).我会发布那些可能有用的代码. public static ListString[] parseRou
有没有办法迭代路由文件中的所有描述的服务?需要URL和HTTP方法.
我需要此功能来运行一些集成测试. 我正在使用Play for Java. 解决方法
不容易.我不久前设法破解了我的方式(没有scala诀窍).我会发布那些可能有用的代码.
public static List<String[]> parseRoutes() { scala.Option<play.core.Router.Routes> option = Play.application().getWrappedApplication().routes(); if (option.isDefined()) { play.core.Router.Routes routes = option.get(); scala.collection.Seq<scala.Tuple3<String,String,String>> doc = routes.documentation(); scala.collection.Iterator<scala.Tuple3<String,String>> it = doc.iterator(); List<String[]> listOfRoutes = new ArrayList<String[]>(); while(it.hasNext()) { scala.Tuple3<String,String> tuple = it.next(); //tuple._1() is the method and tuple._2() the url... tuple._3() is the controller name String[] route = {tuple._1(),tuple._2()}; listOfRoutes.add(route); Logger.debug("route -> " + Arrays.toString(route)); } return listOfRoutes; } return null; } 不要担心.iterator()显示一个方法iterator()对于Seq< Tuple3< String,String>>类型是不明确的.它在游戏中编译得很好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |