当前位置: 首页 > 知识库问答 >
问题:

如何查看scalacheck正在生成的值?

柳宪
2023-03-14

我使用scalatest和scalacheck来做一些基于属性的测试。我对scala和这些库都不熟悉,所以假装这段代码没有实际上那么难看。

我有一个这样的测试:

class MyTests extends FlatSpec with Checkers {

  "My Class" should "Do something interesting" in {
    check((e1 : String, e2 : String, e3 : String) =>
      doInterestingThing(e1, e2, e3))
   }

  def doInterestingThing(e1: String, e2: String, e3: String) : Boolean = {
    val myClass = new MyClass[String]
    val passed = myClass.Foo(e1, e2, e3)
    passed
  }
}

如何查看 scalacheck 生成的值?我目前正在运行这样的测试:

scala -cp "../lib/scalatest.jar:../lib/scalacheck.jar:." org.scalatest.run MyTests

但我得到的只是通过/失败输出。

共有1个答案

夏建弼
2023-03-14

怎么样:

"My Class" should "Do something interesting" in {
  check { (e1: String, e2: String, e3: String) =>
    println(s"doInterestingThing($e1, $e2, $e3)")
    doInterestingThing(e1, e2, e3)
  }
}

作为旁注,您的原始代码中的这一行:

check((e1: String, e2: String, e3: String) => doInterestingThing(e1, e2, e3))

可以改写为:

check(doInterestingThing)
 类似资料:
  • 问题内容: 我想查看发送到PostgreSQL服务器的SQL命令,因为我需要检查它们是否正确。我特别对表创建命令感兴趣。 例如,ActiveRecord(Ruby)将其SQL语句打印到标准输出。Node.js / ActionHero.js和Sequelize.js也可能吗? 问题答案: 您可以在初始化sequelize时传递日志记录选项,该选项可以是函数或console.log。 如果只想查看表

  • 使用Lombok使用Eclipse/Maven生成代码。希望能够在文本中查看正在生成的类。在目标下四处搜寻,但什么也没看到。有没有办法让Lombok输出生成的类?

  • 在窗口中,使用命令“jmeter -n -t [测试 JMX 文件] -l [测试日志文件] -e -o ”来生成仪表板结果不会执行并显示错误。

  • 我在IntelliJ中安装了lombok插件,我的代码构建得很好。我可以在结构视图中看到lombok生成的方法。我想要的是以某种方式实际查看lombok为每个方法生成的源代码。我意识到我可以删除文件,但我想知道是否有某种方法可以翻转开关来显示或隐藏lombok生成的代码。

  • 问题内容: 有没有一种方法可以显示执行查询时Django正在运行的SQL? 问题答案: 请参阅文档FAQ:“如何查看Django正在运行的原始SQL查询? ” 包含SQL查询的列表: 查询集还具有包含要执行的查询的属性: 请注意,查询的输出不是有效的SQL,因为: “ Django实际上从未插值参数:它将查询和参数分别发送到数据库适配器,后者执行适当的操作。” 来自Django错误报告#17741

  • 问题内容: 有没有办法像在开发中一样查看生产环境中从Rails生成的所有查询? 问题答案: 是的你可以。如果进入config / environments / production.rb文件,则有类似以下内容的部分: 取消注释config.log_level行,您将在生产中获得与在开发中相同的日志。