问题标签 [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.

0 投票
1 回答
9397 浏览

scala - 如何使用 Mockito 验证 Specs2 中特定字符串匹配器的调用

我有一个沿着这些方向的测试:

这工作正常,但我想验证第一个调用传递的主体与第二个调用不同。身体相当大,我不想在严格的例子上进行精确匹配。我试过这个:

这让 Mockito 抱怨:

我也试过:

这导致:

在我看来,这样的事情应该是可能的,但我似乎无法弄清楚。洞察力?

0 投票
3 回答
2028 浏览

scala - 我可以在 Specs2 测试中使用模拟文件来写入文件吗?如果是这样,如何?

我已经成功地使用 Specs2 来测试对文件的序列化,但测试使用的是真实文件(写入 /tmp/)。我宁愿不只是为了测试而触摸磁盘。有没有办法使用模拟文件?

我尝试使用 Mockito 来模拟我outfile的(上面注释掉的行)。在我天真的尝试中,我可以创建Mock for File, hashCode: 1583021903,但似乎是null在我尝试序列化时。

我想我错过了某种“存根”,但我找不到任何足够相似的例子来提出解决方案。任何帮助,将不胜感激。

0 投票
4 回答
6207 浏览

scala - Scala 中的 BDD - 它必须是丑陋的吗?

我过去用生菜做蟒蛇。它是一个简单的 BDD 框架,其中规范写入外部纯文本文件。实现使用正则表达式来识别每个步骤,证明规范中每个句子的可重用代码。

使用 scala,无论是specs2还是scalatest,我都被迫将规范与实现一起编写,这使得无法在另一个测试中重用实现(当然,我们可以在某个函数中实现它)并且无法分离来自规范本身的测试实现(我曾经做过的事情,向客户提供验收测试以进行验证)。

最后,我提出我的问题:考虑到客户端验证测试的重要性,在 BDD 框架中是否有办法让 scala 从外部文件加载测试,如果测试中的语句尚未实现并执行是否所有语句都执行正常测试?

0 投票
2 回答
460 浏览

scala - 您如何查看您的代码是否在使用 specs2 的测试模式下运行?

您如何检查您的程序是否正在使用 specs2 从应用程序内部进行测试?例如在 Play 你可以检查play.Play.isTest()

0 投票
2 回答
1077 浏览

sbt - specs2 的 JVM 内存设置

在我使用specs2spray-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。

在测试之外运行系统或使用较小的测试时,一切都像发条一样运行。只有在更大的测试中,事情才会变得疯狂。

0 投票
2 回答
1654 浏览

scala - 在 specs2 中,有条件地对从可能引发异常的函数返回的结果执行子测试

在 specs2 中,表达仅在其“父”测试返回结果而不引发异常时才执行的子测试模式的正确方法是什么?

我有一个 function maybeGiveMeAThing,它可以返回 a Thing,也可以抛出异常。

调用如下所示:

val thing: Thing = maybeGiveMeAThing("foo", "bar" "baz")

我想用一组输入来测试它,它maybeGiveMeAThing成功地返回一个 Thing 而不会引发异常,并使用返回的 Thing,做进一步的测试,以确保它是正确Thing返回给maybeGiveMeAThing.

我当前设置测试的方式,如果调用maybeGiveMeAThing抛出异常,整个测试套件就会中止。这将是我更喜欢的逻辑:

  • 如果 aThing成功返回,则继续进行一组子测试来分析事物的内容
  • 如果maybeGiveMeAThing抛出异常(任何异常),则跳过分析事物的子测试,但继续进行其余测试

我现有的测试代码大致如下:

...尽管这感觉与正确的做法相去甚远。什么是正确的方法?
(如果可以的话,我想避免使用vars 。)

0 投票
2 回答
5234 浏览

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

请指教我做错了什么???

0 投票
1 回答
2400 浏览

json - Playframework Scala Specs2 JSON 匹配器

我正在使用游戏!框架并尝试在 Specs2 测试中使用 JSON 响应消息但没有成功。

我想要做的是在 JsValue 中断言键-> 值对,如下例所示......但我无法让匹配器正确通过。

我得到的错误是

不是很有帮助,我想这是我缺少的一些简单的东西(Scala和Play都是新的)

史蒂夫

0 投票
2 回答
811 浏览

scala - 使用 org.specs2 对方法返回进行单元测试

我想对嵌套在对象下的方法的返回值执行单元测试。例子:

0 投票
1 回答
355 浏览

scala - 如何访问 Specs2 中的测试/示例名称?

我有一些测试共享一个夹具,并希望将测试彼此隔离。一种方法是使用测试/示例名称作为“命名空间”的一部分(例如,作为目录路径的一部分)。

如何在自身内部访问测试/示例名称?

例如: