Scala模式在单元测试期间匹配方法的结果

时间:2018-08-05 20:15:31

标签: scala unit-testing

我正在对scala方法进行单元测试,该方法返回以下形式的字符串

  

从tableName WHERE ts中选择col1 ts <= 1533499389

该整数值​​为epoch,每次执行时都会更改。我想知道Scala中是否有一种方法可以匹配模式来断言返回的值

模式可以是:

  

从tableName WHERE ts <= {}

中选择col1

1 个答案:

答案 0 :(得分:2)

您可以使用匹配模式,

import java.time.OffsetDateTime

import org.scalatest.{FunSuite, Matchers}

class SqlSpec extends FunSuite with Matchers {

  def fn = s"""SELECT col1 FROM tableName WHERE ts <= ${OffsetDateTime.now().toEpochSecond}"""

  test("whatever") {
    fn.matches("SELECT col1 FROM tableName WHERE ts <= \\d{10}") should be(true)
  }

}