我有一些使用TestConatiners运行的容器,还有一些要测试的服务。对于每个服务,我都有一个单独的文件(测试套件),在里面我有测试。我有一个类,我定义了容器的逻辑- beforeAll我启动容器,afterAll我停止所有容器,所有测试套件文件都扩展了这个类。问题开始于切换测试套件期间,我想让容器保持运行,而不是停止并重新运行每个测试套件,这会导致测试管道非常慢。
这是一个很好的例子-https://callistaenterprise.se/blogg/teknik/2020/10/09/speed-up-your-testcontainers-tests/
但问题是Scala中没有静态
关于如何使用testconatiners-scala来实现这一点,你有什么建议吗?
1条答案
按热度按时间vh0rcniy1#
在Scala中,您可以使用一个伴随对象实现相同的行为
https://docs.scala-lang.org/tour/singleton-objects.html
这应该与示例中提到的Singleton容器模式以及官方文档中的描述相同
https://www.testcontainers.org/test_framework_integration/manual_lifecycle_control/#singleton-containers
我在这里创建了一个最小的演示来展示这种行为:https://github.com/bauerei/testcontainers-scala-singleton-demo