在Stormpath,我们非常重视质量和生产率。 任何优秀的工匠已经知道,光有天赋是不够的,还需要正确的工具。 工程不仅仅是一门科学,也是一门艺术,所以虽然我们无疑有人才(wink眨眼)Stormpath,我们总是希望补充的工具最适合我们的需要。 我们的工程师总是渴望与团队的其他分享的新工具。 现在,所有的其他有才华的Java开发人员!
放松类java语法:它是Java语法,但用更少的规则。 例如分号、变量类型和访问修饰符都是可选的。 后者有一个巨大的利益进行测试。 因为访问修饰符是不严格的,您的测试可以阅读和被测试类的内部状态。 例如,让我们假设您有这类:
我们的后端提供了一个REST API服务创建和管理用户帐户。 我们的Java SDK许多不同的sdk之一提供一个特定于语言的客户端模型简化交互。 还有些sdk提供web层与后台交互,而不需要编写任何代码。
为了互操作性在所有这些web框架,他们必须完全相同的行为。 因此我们不得不创建一组基于http的集成测试,每一个框架是对进行验证。 这是我们的兼容性测试套件。 这个项目是由我们所有的SDK工程师,而不是他们掌握相同的编程语言。 因此我们必须使用一个语言无关的测试工具。 这是当请放心前来救助。
放心是一个简单的Java DSL(领域特定语言)测试REST服务。 不仅常简单的使用和开始使用,即使是从未使用过Java开发人员,这也是令人难以置信的强大。 它提供高级功能(如详细配置、过滤器、自定析器对象,CSRF和OAuth 2.0。 这是从头构建提供一个非常简单的语法:given-when-then。
货物是一个瘦包装器来各种类型的应用程序容器以标准方式。 货物,我们可以运行我们的例子不同的Servlet容器(比如Jetty和Tomcat)相当轻松。 我们只是配置了货物Maven2插件在我们的pom文件启动Servlet容器(Tomcat 7)最近建造和部署War文件在集成测试阶段。 你可以看到在我们的配置工作Servlet插件的例子。
巩固依赖性:在多模块项目你应该定义每一个依赖的根pom.xml在dependencyManagement标签。 一旦你这样做,所有的子模块可以依赖这些依赖项,而无需指定它们的版本。 这种方式管理你的依赖关系(e。 g,更新版本)可以在一个集中的地方,和所有的子模块将自动变化。 例如,根pom.xml:
跳过集成测试:我们有很多集成测试需要很长时间才能完成。 这些测试验证与后台的交互是否工作正常。 普通地方发展期间,我们多次修改代码之前,新特性或bug修复完成。 没有需要这些中间地方构建每次根据后端进行验证,这将大大减缓开发过程。 因此,我们已经配置了Java SDK自动运行其只有在我们建立运行CI服务器。 你可以做同样的事情是这样的:
我们使用Java SDK中jwt很严重的交通数据安全和无故障。 测试和故障排除时,我们需要分析的内容jwt,我们得到在浏览器中。 这些标记可以在URL中,饼干,或在本地存储。JWT检查员是我们构建了一个浏览器扩展来帮助我们解码并检查JSON Web标记直接从控制台或内置的UI。 你不需要这些令牌在你的应用程序,您只需按下扩展按钮和智威汤逊检查员将自动显示所有你需要的信息。 你可以复制任何索赔的令牌需要扩大。
我们工作很严重和REST API请求。 编写REST请求并不总是友好的; 实际的语法取决于我们使用的工具,如旋度或HTTPie。 都常可读的但有时很难记住准确的语法。 此外,当故障排除,我们需要测试一些请求和他们的结果。 当他们失败时我们不确定这个问题是否在请求或端点本身。 我们最终失去的时间,因为我们怀疑的正确性要求写作。
邮递员使编写简单的REST API请求。 它还提供了许多有价值的特性,如储蓄和重用请求,生成代码(java、python、卷、等等),和分组请求按顺序运行它们。 邮差可以帮助您构建复杂commmands由于其用户友好的界面。 你所要做的是完成一个形式。 能比这更好的吗?
使用正确的工具,不仅可以节省时间和减少努力,它还可以提高你的产品的总体质量,使日常工作更有乐趣。 我们应该总是打开发现和学习新工具。 它可能需要一些努力,但你很快就会意识到这是绝对值得你投资的时间。