问题标签 [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 - 如何使用 Mockito 验证 Specs2 中特定字符串匹配器的调用
我有一个沿着这些方向的测试:
这工作正常,但我想验证第一个调用传递的主体与第二个调用不同。身体相当大,我不想在严格的例子上进行精确匹配。我试过这个:
这让 Mockito 抱怨:
我也试过:
这导致:
在我看来,这样的事情应该是可能的,但我似乎无法弄清楚。洞察力?
scala - 我可以在 Specs2 测试中使用模拟文件来写入文件吗?如果是这样,如何?
我已经成功地使用 Specs2 来测试对文件的序列化,但测试使用的是真实文件(写入 /tmp/)。我宁愿不只是为了测试而触摸磁盘。有没有办法使用模拟文件?
我尝试使用 Mockito 来模拟我outfile
的(上面注释掉的行)。在我天真的尝试中,我可以创建Mock for File, hashCode: 1583021903
,但似乎是null
在我尝试序列化时。
我想我错过了某种“存根”,但我找不到任何足够相似的例子来提出解决方案。任何帮助,将不胜感激。
scala - 您如何查看您的代码是否在使用 specs2 的测试模式下运行?
您如何检查您的程序是否正在使用 specs2 从应用程序内部进行测试?例如在 Play 你可以检查play.Play.isTest()
sbt - specs2 的 JVM 内存设置
在我使用specs2和spray-testkit进行的一些较大的验收风格测试中,SBT 一直内存不足。我有 10 个演出或 RAM 可用,目前我启动 SBT(使用SBT extras 脚本),MaxPermSize 为 512m,Xms 为 1024m,Xmx 为 2g。
验收测试以特定顺序贯穿客户的整个业务流程,因此将验收测试拆分为多个较小的测试并不容易。
任何我可以更好地配置我的环境的想法,或者我应该注意的问题都将不胜感激。
对于它的价值,我在 Ubuntu 下使用 Oracle Java,该项目使用 Scala 2.10、sbt 0.12.2、spray 1.1-M7 和 specs2 1.14。
在测试之外运行系统或使用较小的测试时,一切都像发条一样运行。只有在更大的测试中,事情才会变得疯狂。
scala - 在 specs2 中,有条件地对从可能引发异常的函数返回的结果执行子测试
在 specs2 中,表达仅在其“父”测试返回结果而不引发异常时才执行的子测试模式的正确方法是什么?
我有一个 function maybeGiveMeAThing
,它可以返回 a Thing
,也可以抛出异常。
调用如下所示:
val thing: Thing = maybeGiveMeAThing("foo", "bar" "baz"
)
我想用一组输入来测试它,它maybeGiveMeAThing
成功地返回一个 Thing 而不会引发异常,并使用返回的 Thing,做进一步的测试,以确保它是正确Thing
返回给maybeGiveMeAThing
.
我当前设置测试的方式,如果调用maybeGiveMeAThing
抛出异常,整个测试套件就会中止。这将是我更喜欢的逻辑:
- 如果 a
Thing
成功返回,则继续进行一组子测试来分析事物的内容 - 如果
maybeGiveMeAThing
抛出异常(任何异常),则跳过分析事物的子测试,但继续进行其余测试
我现有的测试代码大致如下:
...尽管这感觉与正确的做法相去甚远。什么是正确的方法?
(如果可以的话,我想避免使用var
s 。)
scala - 如何设置 IntelliJ + Scala + specs + sbt 项目?
我正在尝试为具有 IntelliJ (12.1) 支持的 Scala (2.10) 设置一个带有 specs2 的空 sbt 项目,当我sbt compile
在空项目目录中执行此操作时出现此错误:
我的build.sbt
文件如下所示:
我通过以下方式安装了 sbt brew install sbt
:
Brew 说我有 sbt 0.12 但是当sbt --version
我得到:
我试图通过将它放在我的 $PROJECT_DIR/projects/plugins.sbt 中来至少生成 IntelliJ 文件:
但是当我这样做时sbt gen-idea
,我得到了这个错误:
有人可以发布一个可以build.sbt
为 Scala 2.10.1 和 sbt 生成 IntelliJ 12.1 文件的示例吗?
我在这里检查了我的项目:https ://github.com/pathikrit/scalgos
请指教我做错了什么???
json - Playframework Scala Specs2 JSON 匹配器
我正在使用游戏!框架并尝试在 Specs2 测试中使用 JSON 响应消息但没有成功。
我想要做的是在 JsValue 中断言键-> 值对,如下例所示......但我无法让匹配器正确通过。
我得到的错误是
和
不是很有帮助,我想这是我缺少的一些简单的东西(Scala和Play都是新的)
史蒂夫
scala - 使用 org.specs2 对方法返回进行单元测试
我想对嵌套在对象下的方法的返回值执行单元测试。例子:
scala - 如何访问 Specs2 中的测试/示例名称?
我有一些测试共享一个夹具,并希望将测试彼此隔离。一种方法是使用测试/示例名称作为“命名空间”的一部分(例如,作为目录路径的一部分)。
如何在自身内部访问测试/示例名称?
例如: