我正在对scala方法进行单元测试,该方法返回以下形式的字符串
从tableName WHERE ts中选择col1 ts <= 1533499389
该整数值为epoch,每次执行时都会更改。我想知道Scala中是否有一种方法可以匹配模式来断言返回的值
模式可以是:
从tableName WHERE ts <= {}
中选择col1
答案 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)
}
}