Acai JUnit4 和 Guice 测试库

开源网站开源项目 24-03-23 16:10:46

Acai 是 JUnit4 和 Guice 的测试库,可以更容易的编写应用功能测试。

主要特性:

注入测试需要的助手类

启动测试需要的任意的服务

运行测试之间的服务清理

按照正确顺序启动多个服务

创建测试作用域绑定

Acai 主要针对的是应用大型功能测试。

安装

<dependency><groupId>com.google.acai</groupId><artifactId>acai</artifactId><version>0.1</version><scope>test</scope></dependency>

使用 Acai 进行测试注入

@RunWith(JUnit4.class)publicclassSimpleTest{@RulepublicAcaiacai=newAcai(MyTestModule.class);@InjectprivateMyClassfoo;@TestpublicvoidcheckSomethingWorks(){//Usetheinjectedvalueoffoohere}privatestaticclassMyTestModuleextendsAbstractModule{@Overrideprotectedvoidconfigure(){bind(MyClass.class).to(MyClassImpl.class);}}}

使用 Acai 启动服务

@RunWith(JUnit4.class)publicclassExampleFunctionalTest{@RulepublicAcaiacai=newAcai(MyTestModule.class);@InjectprivateMyServerClientserverClient;@TestpublicvoidcheckSomethingWorks(){//Calltherunningserverandtestsomebehaviourhere.//AnystatewillbeclearedbyMyFakeDatabaseWiperaftereach//testcase.}privatestaticclassMyTestModuleextendsAbstractModule{@Overrideprotectedvoidconfigure(){//NormalGuicemoduleswhichconfigureyour//serverwithin-memoryversionsofbackends.install(MyServerModule());install(MyFakeDatabaseModule());install(newTestingServiceModule(){@OverrideprotectedvoidconfigureTestingServices(){bindTestingService(MyServerRunner.class);bindTestingService(MyFakeDatabaseWiper.class);}});}}privatestaticclassMyServerRunnerimplementsTestingService{@InjectprivateMyServermyServer;@BeforeSuitevoidstartServer(){myServer.start().awaitStarted();}}privatestaticclassMyFakeDatabaseWiperimplementsTestingService{@InjectprivateMyFakeDatabsemyFakeDatabase;@AfterTestvoidwipeDatabase(){myFakeDatabase.wipe();}}}
[Acai JUnit4 和 Guice 测试库]相关推荐

lim 跨平台网络通信框架

lim 是一套轻量级的高性能通信框架,基于 C/C++ 语言开发,采用全异步通信模式,内部集成了 HTTP、HTTPS……...

TinyOS 开放源代码操作系统

TinyOS 开放源代码操作系统

TinyOS是UC Berkeley(加州大学伯克利分校)开发的开放源代码操作系统,专为嵌入式无线传感网络设计,操作……...

Cypress 前端 E2E 测试工具

Cypress 前端 E2E 测试工具

Cypress 是为现代网络而构建的下一代前端测试工具,用于解决开发者和 QA 工程师在测试现代应用程序时面临……...

今日开源
  1. Webots 开源机器人模拟器

    Webots 开源机器人模拟器

    Webots 是用于模拟机器人的开放源代码和多平台桌面应用程序。它提供了一个完整的开发环境来对机器人进行建模,编程和仿真。 它被设计用于专业用途,并且广泛用于工业,教育和研究。自1998年以来,Cyber​​botics Lt……

    开源软件 2024-05-03

  2. par markdown 转换 html 工具

    par 是一个基于 pyPEG 写的转換 markdown 为 html 的工具,它是用 python 语言开发的。 除了支持标准的 markdown语法,还支持一些扩展语法,如 github 的 markdown 扩展及自定义的扩展,可以生成 boostrap 或 sema……

    开源软件 2024-05-03

  3. OSSEC 入侵检测程序

    OSSEC 入侵检测程序

    OSSEC是一款开源的入侵检测系统,包括了日志分析,全面检测,rook-kit检测。作为一款HIDS,OSSEC应该被安装在一台实施监控的 系统中。另外有时候不需要安装完全版本得OSSEC,如果有多台电脑都安装了OSSEC,那么就……

    开源软件 2024-05-03

返回顶部小火箭