2.支撑REST风格
我们的后端供给REST API办事来创建和治理账户,浩瀚SDK中,我们的Java SDK供给特定说话客户端模型做简单交互。个一一些SDK也供给网页来和后端交互,大年夜而不消编写代码。
为了包管收集框架的互操作性,它们必须表示的一样。是以我们须要创建一系列基于HTTP的测试。这是我们的兼容性测试对象。这个项目由我们的SDK工程师保护,他们精晓不止一种说话。是以我们须要跨说话测试对象,谢天谢地Rest-assured来了。
Rest-assured是Java范畴特定说话(DSL domain-specific language)用来测试REST办事,它简单易用易上手,甚至对于没有效过Java的开辟者也是难以置信的强大年夜。它供给先辈的特点,比如细节设备、过滤器、定制分析、跨站请求捏造(CSRF)和OAuth 2.0。它供给异常简单的语法:given-when-then。
举个例子:让我们来看它若何校验“向/login路径发送post认证信息请求返回302状况码”:
- given() .accept(ContentType.HTML) .formParam("login", account.username)
- .formParam("password", account.password) .when() .post(LoginRoute) .then() .statusCode(302)
你可以在我们的TCK repo中看到更多Rest-assured测试
- git rev-list --all $2 | (
- while read revision; do
- git grep -F $1 $revision $2
- done
- )
3.Cargo Plugin
为了让我们的Java SDK按照TCK校验,我们须要开启我们个一一个Web办事,以便测试在膳绫擎履行。讲事理的话,我们需液每次构建时主动测试,Gargo Plugin就是为此而生。
Cargo用标准的方法简单封装各类应用容器。我们应用Cargo可以毫不辛苦的在不合的Servlet容器(比如Jetty和Tomcat)中运行我们的代码。我们只须要在我们的pom文件中设备Cargo Maven2 Plugin来启动一个Servlet容器(Tomcat7),在测试阶段编译比来的War包,你可以在我们的Servlet插件例子中看到设备。
4.Git
我们能评论辩论哪些关于Git你不懂得的工作呢?想要深刻懂得Git,你可以看他们的About页。
我们的Java SDK团队遍布全球,并且彼此之间几乎大年夜未坐在一路。Git保障了我们写的每一行代码,这里有一些异常棒的敕令,节俭了我们大年夜量的时光:
- git mv –force foo.java Foo.java:在大年夜小写敏感的文件体系中改变文件名是异常麻烦的,这个敕令能让git意识到foo.java重定名为Foo.java
- git diff-tree –no-commit-id –name-only -r <commit_ID>:查看所有在<commit_ID>此次提交中更改的文件。
- git diff –name-only SHA1 SHA2:列举出在SHA1和SHA2两次提交之间所有更改的文件。
- 在一个文件的汗青提交记录中萌芽某个字符串:创建search.sh文件,粘贴下面代码:
敕令可以经由过程这种方法履行:sh ./search.sh string_to_search file_where_to_search
8.Postman
5.GitHub
GitHub不仅仅为我们的Git项目供给托管办事,它为代码开源并让全世界都看到做出了巨大年夜供献。这鼓舞了人们去测验测验、去交换、去演习,很大年夜程度进步了每小我的项目质量和大年夜家的技巧程度。
GitHub许可我们跟进我们的issue.旅客可以提交新需乞降申报bug。他们也可以收到我们项目进展的通知。
6.Maven
Maven已经足够出名了。所以我不会用长篇幅解释为什愦我们应用Maven做构建治理。然而我可以分享几个技能,让你的Maven更轻车熟路:
治理依附:在一个多模块的项目中,你须要在根pom.xml的<dependencyManagement>标签中定义每一个依附。一旦你如许做,所有基层模块都可以不须要指定版本。这种治理依附的方法(比如版本进级)可以集中处理,所有基层模块都邑主动辨认。比如在根pom.xml:
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>io.jsonwebtoken</groupId>
- <artifactId>jjwt</artifactId>
- <version>${jjwt.version}</version>
- </dependency>
- ... <dependencies><dependencyManagement>
基层模块的pom.xml:

网友点评
精彩导读
科技快报
品牌展示