我们喜欢定期浏览未被充分认识的Java库,以了解一些宝石。 今天,我们来看看Testcontainers ,这是一个支持JUnit测试的Java库。 现在,开发人员可以轻松地在他们的JUnit测试期间启动有用的Docker容器,这些容器可以满足他们的所有需求。
Testcontainer提供了可以装入容器的任何东西的轻量,一次性的实例。 这使得使用Docker容器进行测试变得比以往更加容易。
那么,测试容器能提供什么?
- 数据访问层集成测试:开发人员可以使用自己喜欢的数据库的容器化实例来测试其数据访问代码以实现完全兼容性。 无需复杂的设置过程!
- 应用程序集成测试:需要一次性测试模式吗? 开发人员可以在具有依赖项的短期测试模式下运行其应用程序。
- UI /验收测试:开发人员可以使用容器化的Web浏览器进行自动化的UI测试。 每个测试都可以获取浏览器的新实例,而无需担心浏览器状态,插件版本或浏览器自动升级。 甚至还有每个测试环节或失败环节的录像,以确保一切顺利。
Testcontainer已被许多组织使用。 这个开源Java库通常需要Docker v1.10或更高版本才能工作。
还请参见:
测试容器1.10
Testcontainers 1.10版本附带了许多新功能和用例。
首先, 现在有Junit 5官方支持 。 这已经很长时间了,通过@Testcontainers批注提供。 基本上,扩展名会找到所有用@Container注释的字段。 然后,它调用其容器生命周期方法(Startable接口上的方法)。 任何声明为静态字段的容器都将在测试方法之间共享。 它们将在执行任何测试方法之前启动一次,并在最后一个测试方法执行之后停止。 声明为实例字段的容器将为每种测试方法启动和停止。
另外,在Testcontainers 1.10中,现在有一个Elasticsearch容器类 。 这使得针对Elasticsearch的测试比以往任何时候都更加容易。 它基于Elastic提供的官方Docker映像 。
开发人员还可以针对OpenJDK 11进行测试,为MySQL支持空密码,并为CI构建激活Gradle构建扫描。 1.10版还提供了许多文档改进,对新功能的支持和更新。 查看完整的变更日志以获取所有详细信息。
获取测试容器
想尝试一下这个Java库吗? 最新版本的Testcontainers可在GitHub上找到 。 有关此炫酷工具的更多信息,请转到Testcontainers站点以获取文档和更多信息。
翻译自: https://jaxenter.com/testcontainers-java-library-151637.html