当前位置:首页 > 天道酬勤 > 正文内容

()

张世龙2021年12月22日 07:32天道酬勤1490

在用户管理和认证服务(Stormpath )中,我们非常认真地致力于质量和效率。 优秀的工匠光有才能是不够的,工作需要正确的工具。 工程学不仅是科学,也是艺术。 所以,在Stormpath上,我们虽然很有才能,但还是继续寻找必要的有用工具。 我们的工程师想和团队的其他人分享新的工具。 现在,让我们向所有充满才华的Java开发人员推荐这些工具。

在这篇文章中,我们将分享Java团队在日常工作中使用的工具,介绍它们的使用方法,并分享一些实用的小技巧。

1.Groovy

我们用Groovy写Java测试。 为什么? 因为它提供了以下功能。

松散的Java语法:这是Java语法,但其他规则(如分号、变量类型和访问修饰符)是可选的。 后者对测试很重要,访问修饰符不严格,所以你的测试可以读取并断言类内部的状态。 例如,考虑一下班级。

如果要测试setbar(string )方法是否正常(即可以正确修改bar的值),可以使用Groovy轻松读取变量值。 Java不允许这样的操作(无论Java反射机制如何)。

强大的断言: Groovy提供强大多样的声明,称为电源声明。 Groovy的强力断言可以清楚地表示验证失败时的结果。 此外,它比Java更具可读性。

你可以用Groovy写:

如果断言失败,将显示非常明确的说明。

Mockito :使用Java时,EasyMock、PowerMock、Mockito等动态模拟框架非常受欢迎,这些框架可以通过Groovy轻松使用。 是的!

2.支持REST风格

后端提供REST API服务,用于创建和管理帐户。 在许多SDK中,Java SDK提供了特定的语言客户端模型以便于交互。 有些SDK提供用于与后端交互的网页,不需要编写代码。

为了保证网络框架的互操作性,需要采取同样的行动。 因此,需要创建一组基于HTTP的测试。 这是我们的兼容性测试工具。 该项目由SDK工程师维护,精通多种语言。 因此,需要语言间测试工具。 谢天谢地,雷斯-阿斯特丽德来了。

Rest-assured对于没有使用Java的开发人员来说,也是一种难以置信的易用性,是用于测试REST服务的特定于Java域的语言(DSL域语言)。 提供高级功能,如详细的配置、过滤、自定义分析、跨站点请求伪造(CSRF )和OAuth 2.0。 提供一种非常简单的语法given-when-then。

要按TCK验证

3.Cargo Plugin

JavaSDK,必须打开其中一个Web服务,以便测试可以运行。 如果讲道理的话,每次构建都需要自动测试。 Gargo Plugin就是为此而生的。

Cargo用标准的方式简单地封装各种APP容器。 我们可以使用Cargo在不同的servlet容器(如Jetty和Tomcat )中轻松地执行代码。 只需在pom文件中设置汽车管理2 plu

gin来启动一个Servlet容器(Tomcat7),在测试阶段编译最近的War包,你可以在我们的Servlet插件例子中看到配置。

4.Git

我们能讨论哪些关于Git你不了解的事情呢?想要深入了解Git,你可以看他们的About页。

我们的Java SDK团队遍布全球,而且彼此之间几乎从未坐在一起。Git保障了我们写的每一行代码,这里有一些非常棒的命令,节省了我们大量的时间:

git mv –force foo.java Foo.java:在大小写敏感的文件系统中改变文件名是非常麻烦的,这个命令能让git意识到foo.java重命名为Foo.javagit diff-tree –no-commit-id –name-only -r <commit_ID>:查看所有在<commit_ID>这次提交中更改的文件。git diff –name-only SHA1 SHA2:列举出在SHA1和SHA2两次提交之间所有更改的文件。在一个文件的历史提交记录中查询某个字符串:创建search.sh文件,粘贴下面代码:

5.GitHub

GitHub不仅仅为我们的Git项目提供托管服务,它为代码开源并让全世界都看到做出了巨大贡献。这鼓舞了人们去尝试、去交流、去练习,很大程度提高了每个人的项目质量和大家的技术水平。

GitHub允许我们跟进我们的issue.游客可以提交新需求和报告bug。他们也可以收到我们项目进展的通知。

6.Maven

Maven已经足够出名了。所以我不会用长篇幅解释为什么我们使用Maven做构建管理。然而我可以分享几个技巧,让你的Maven更得心应手:

dcdppx:在一个多模块的项目中,你需要在根pom.xml的标签中定义每一个依赖。一旦你这样做,所有下层模块都可以不需要指定版本。这种dcdppx的方式(比如版本升级)可以集中处理,所有下层模块都会自动识别。比如在根pom.xml:

下层模块的pom.xml:

阻止下层模块编译:在发布的时候我们需要所有下层模块一起发布,但是我们如何避免某个模块(比如example)发布呢?很简单,只需要把下面的pom文件加入到你不想发布的模块:

跳过集成测试:我们有很多集成测试需要很长时间编译。这些测试确保了后端整体运行正常.在频繁的本地部署期间,我们多次因为新功能或修复bug而更改代码。并不需要每次在本地构建的时候执行这些测试,这会拖慢开发进度。因此我们要确保我们的Java SDK只在我们的CI服务器上运行的时候执行集成测试。可以通过下面方法:

根pom.xml文件:

所以你可以想象到,所有集成测试文件以IT结尾,来保证配置正常运作,比如:ApplicationIT.groovy 或 I18nIT.groovy

然后,如果我们想让集成测试运行,我们执行以下构建:mvn clean install -DskipITs=false

7.JWT Inspector

我们的Java SDK使用JWT(JSON Web Token)通过安全可靠的方式传输数据。当我们测试排查时,我们需要分析从浏览器接收到的JWT内容。token信息可能在URL,cookie或本地储存中。JWT Inspector是一款浏览器插件,让我们可以从控制台或内置的界面解码JSON Web Token。你不需要在你的app中跟踪token信息。你只需要按一下插件的按钮,JWT Inspector会自动展示你所需要的所有信息,然后你可以复制其中任何token信息。

8.Postman

我们重度依赖REST API请求,编写REST请求并不方便,具体语法取决于我们所用的工具,比如curl或HTTPie。两者都易读,但语法难记。通常,我们需要排查问题时,我们需要测试一些请求。当出问题时,我们无法判断原因是请求还是后端。我们浪费了大量时间来怀疑我们写的请求是否正确。

Postman让书写REST API请求变得简单。它也提供很多功能,比如保存、复用请求、生成代码(java,python,curl等等),还可以批量按序执行请求。Postman通过友好的界面帮助你构建复杂的命令,你所需要做的就是填写一个表单,简直不能再棒了。

总结

使用正确的工具不仅仅帮助你节省时间提高效率,还能提高你作品的质量并享受日常工作。我们要时刻留心,发现并学习新的工具。一开始可能需要一些努力,但你总会意识到付出的时间是值得的。

最后欢迎点赞、评论、关注,持续更新中。。。。

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/26900.html

标签: originhttpspgc
分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。