如何在单线程中运行 ScalaTest 套件?
Posted
技术标签:
【中文标题】如何在单线程中运行 ScalaTest 套件?【英文标题】:How can I run ScalaTest suites in a single thread? 【发布时间】:2018-03-04 13:05:53 【问题描述】:ScalaTest 的默认行为是“并行运行不同的套件,但按顺序运行任何一个套件的测试”。 See ParallelTestExecution.
如何限制一组套件(可能使用SuiteMixin)以全部顺序运行?这个related answer 表示“启用分叉但禁用并行执行”。如何使用 gradle 测试运行器执行此操作?
我的用例专门围绕在 gradle 下运行一组基于 SparkSession 的集成测试套件。
【问题讨论】:
【参考方案1】:看SequentialNestedSuiteExecution。
Sequential 提供了它的具体实现。
【讨论】:
看来我需要研究嵌套套件的工作原理。现在我所有的套件都是独立的独立套件,它们都混合在我的 TestSparkSession SuiteMixin 中,它提供了 Spark 会话。希望我可以注释这个 mixin 以声明这些套件“顺序”。 如果我们可以添加一个示例,这个问题和答案会更有帮助。 ScalaTest-doc 中的高级示例将我置于与@PeterStephens 相同的位置——非常迷茫,并且在自我启蒙的旅程中,没有明确的前进方向。特别是,在测试整个项目时,我会将 Sequential 将执行的套件放在哪里,以避免它们自己执行?以上是关于如何在单线程中运行 ScalaTest 套件?的主要内容,如果未能解决你的问题,请参考以下文章