【问题标题】:Debugging SCollection contents when running tests运行测试时调试 SCollection 内容
【发布时间】:2020-01-06 06:41:03
【问题描述】:

在运行单元测试 (PipelineSpec) 时,有什么方法可以查看 SCollection 的内容?

在多台机器上运行生产时,无法在一台机器上查看整个集合,但我想知道有没有办法查看 SCollection 的内容(例如在调试模式下运行单元测试时在 intellij 中)。

【问题讨论】:

    标签: scala apache-beam spotify-scio


    【解决方案1】:

    如果您想将调试语句打印到控制台,那么您可以使用debug 方法,它是SCollections 的一部分。示例代码如下所示

        val stdOutMock = new MockedPrintStream
        Console.withOut(stdOutMock) {
          runWithContext { sc =>
            val r = sc.parallelize(1 to 3).debug(prefix = "===")
            r should containInAnyOrder(Seq(1, 2, 3))
          }
        }
        stdOutMock.message.filterNot(_ == "\n") should contain theSameElementsAs
          Seq("===1", "===2", "===3")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-22
      • 2017-10-12
      相关资源
      最近更新 更多