问题标签 [specs2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 如何使用 Specs2 和 Scalacheck 自动测试字符串参数?
为 Scala重写的specs2测试框架将自动化测试与scalacheck集成在一起。specs2 文档中给出的关于如何将 scalacheck 与 specs2 一起使用的示例使用整数或更复杂的自定义生成器,如eric 的 json 示例。
在尝试让一个稍微不那么复杂的示例工作时,我很挣扎,因为如果我想生成字符串参数而不是整数,我不知道如何使用 specs2 和 scalacheck。这个快速入门示例如何
p>从scalacheck 主页看,如果它是使用 scalacheck 集成编写为 Specs2 规范的?
scala - 具有多个测试用例的 Scalatest 或 specs2
在 TestNg 和 Java 中,我们可以使用 DataProvider 运行多个测试用例,这作为单独的测试运行,这意味着测试的执行不会因失败而停止。ScalaTest 或 Specs/Specs2 是否有类似物?
scala - Configuring junitxml output for specs2 tests in sbt 0.10
How do I configure sbt 0.10 to use the junitxml option with specs2?
The specs2 documentation says this is the way to do it using sbt 0.7.x:
override def testOptions = super.testOptions ++ Seq(TestArgument("junitxml"))
How do I say the same thing in sbt 0.10?
scala - 如何在 Specs2 中重用描述 * 和 * 匹配器的值?
我目前正在使用|>
scalaz 来实现以下目标:
这允许我.toString
在测试用例的描述中重用对象的。但是由于 Specs2 似乎支持某种复杂的东西,比如通过扫描src
文件夹从测试源中提取东西——他们一定考虑过这个特殊的用例。
还有Given
, When
,Then
东西,但它看起来非常冗长。
那么如何重用相同的对象进行描述和匹配?我认为我的解决方案是可以接受的,但括号困扰着我。实际上它看起来像这样:
scala - 如何从命令行运行 Scala + specs2?
我是一个全新的 Scala 程序员,以前没有使用 Java 的经验;我来自红宝石。我正在尝试运行我的第一个 TDD 示例程序。我正在计划一些非常小的东西,可能有 5 或 6 个测试。我正在尝试使用 specs2 库。我没有 IDE,我通常用 vim 编程并从命令行执行东西。
如何从命令行对我的小 .scala 文件使用 scala 和 specs2?
在快速入门中,他们提到了这一点:
- 我不知道省略号 (
...
) 代表什么。我必须在那里放什么? - 该命令引用(我假设)一个名为
specs2.run
. 但在下载部分,我只得到一个 .jar 文件。在哪里specs2.run
? - 在依赖项部分中,我在两种技术之间给出了 - sbt 和 maven(我用谷歌搜索了它们,以前不知道它们)。无论如何我都必须使用 sbt/maven 吗?我不能只使用控制台命令吗?它只有 1 个包含 5 个测试的文件。
- 我知道有一个示例应用程序,但同样没有关于如何运行它的说明。我认为它已准备好与 sbt 和 maven 一起使用。我宁愿不必为了快速测试而学习使用其中的任何一个。是否可以?
非常感谢。
scala - 以模块化方式创建 Specs2 匹配器
我有功能A => Double
。我想检查两个这样的函数beCloseTo
对于给定的一组值是否给出相同的结果(最大容差,使用现有的匹配器)。
我希望能够写:
我想以模块化的方式构建这个匹配器,而不是简单地Matcher[TF]
从头开始编写。
如果我能写的话可能会更好:
当匹配器失败时,我也想得到一个合理的描述。
编辑
在睡过它之后,我想出了以下内容。
这比 Eric 的解决方案要短得多,但没有提供好的失败消息。我希望能够在第二种方法中重命名映射值。类似于以下内容(无法编译)。
scala - Specs2:如何将 Seq[Matcher[A]] 变成单个 Matcher[A]?
给定一个序列Seq[Matcher[A]]
,我想获得一个Matcher[A]
在序列内的所有匹配器都成功时成功的单个序列。
编辑
我自己提供的答案似乎有点笨拙,此外,如果该序列的所有失败匹配器都产生结果,那就太好了
scala - 并行执行测试
我注意到 SBT 正在并行运行我的 specs2 测试。这看起来不错,除了我的一个测试涉及从文件读取和写入,因此会意外失败,例如见下文。
有没有比这更好的选择
- 将所有测试设置为串行运行,
- 为每个测试使用单独的文件名和拆卸?
scala - 尝试在 Specs2 上最终使用闭包编写测试失败
我正在尝试使用 Specs2 编写以下规范,但似乎无法使其正常工作,编译器总是抱怨“Unit => org.specs2.execute.Result 没有可用的隐式视图”。
这是测试源:
完成后删除功能如下:
如果此行位于规范的末尾,它确实有效:
为什么它会像这样失败,我该怎么做才能仍然使用闭包并让测试编译?
编辑
将 deleteWhenDone 调用更改为:
但还是不行。
编辑 2
感谢 Rafael 的回答,使其工作的最终代码是:
我错过了方法返回类型。谢谢!
unit-testing - Scala 规范单元测试
我有以下课程,我想编写一些 Spec 测试用例,但我对它真的很陌生,我不知道如何开始。我的班级确实像这样:
谢谢!