问题标签 [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 投票
5 回答
13104 浏览

scala - 使用测试配置播放 2.0 FakeApplication 设置

我有一个使用 FakeApplication 和嵌入式 mongodb 数据库的 specs2 测试。

FakeApplication 使用 conf 目录中的默认 application.conf 配置和为每个测试创建的测试数据库的附加配置。
在我们设置 mongodb 副本集之前,这是有效的发现。现在 application.conf 包含此副本集的配置

由于 FakeApplication 使用默认配置,因此测试失败,因为找不到副本集的主机。我想为我的测试设置不同的配置,基本上删除 mongodb.default.replicaset 条目。如果 mongodb.default.replicaset 是一个简单的 Map[String, String] 这将很容易,因为我可以将它添加到 additonalConfiguration 但是当我尝试这样做时它会失败,因为预期的值类型不是字符串而是对象。我还尝试通过路径参数向 FakeApplication 提供单独的 test.conf 文件。

这也不起作用,因为它没有加载任何配置。

我将不胜感激任何帮助。谢谢。

克里斯

0 投票
0 回答
473 浏览

testing - playframework 2.x with scala - 如何显示来自 specs2 运行测试的记录器信息?

我使用 specs2 做了几个简单的测试,并在其中插入了几个 play.Logger.info("messsage") ,但它们只是没有出现在任何地方......

有什么方法可以让它们显示在某个地方吗?

能够使用 eclipse 或 intelliJ 调试测试代码也将非常方便

0 投票
0 回答
526 浏览

scala - Scalacheck json 和 case 类

我正在编写一个服务,它接受一个案例类并将其序列化为 json,然后我将其发送到运行 Elastic Search 的实例。

我希望 scalacheck 生成几个带有随机缺失数据的案例类,如下所示:

你明白了,要么填写值,要么将它们留空(最后一个是Long类型。

这是容易的部分,问题是生成的json不只是省略“归档”,而是省略了整个部分,例如:

如果我有一个带有数据的前 3 个字段的案例类,则 json 将是:

所以,简而言之,拥有价值意味着增加

到结果。

您将如何处理这样的用例?

0 投票
1 回答
468 浏览

scala - ScalaCheck之前/之后/周围?

specs2 具有诸如BeforeAfterAround等特征,以便能够将示例包装在设置/拆卸代码中。

是否有任何东西支持为ScalaCheck 属性的每个“迭代”设置和拆除测试基础设施,即ScalaCheck 要测试的每个值或一组值?

看起来 specs2 的各种 Before、After、Around 特征都是围绕返回或抛出 specs2 Result 实例而设计的,而 Prop 不是 Result。

0 投票
1 回答
1105 浏览

scala - 在 specs2 匹配器中结合 forall 和 ^^^

在 Specs2 中,forallandforeach方法可用于将单个项目的匹配器转换为原始类型项目序列的匹配器,并且 ^^^ 可用于在匹配它们之前对实际值预期值进行预处理。但是我怎样才能将两者结合起来呢?

我试过了

但这不会编译。

0 投票
2 回答
3623 浏览

unit-testing - 使用 specs2 进行 Seq 空测试

如何Seq[String]在 Scala 中使用 specs2 检查 a 是否为空?我正在使用seq must be emptyorseq.length must be greaterThan(0)但最终总是出现类型不匹配错误。

0 投票
1 回答
94 浏览

scala - specs2:将常见的 Given 移动到超类中

在 Specs2 中,我在可变规范中使用带有 ScalaCheck 的 Given/When/Then 样式,并且我有一个常用的 Given 步骤来创建 ScalaCheckGen对象,我想将它移动到所有测试的公共超类中那一步。(嗯,实际上,进入一个特征,但也许这并没有什么区别。)

但是,我的测试有一些非常复杂的设置代码,必须以正确的顺序运行,而且我的 specs2 测试代码已经有了相当深的类层次结构,到目前为止,我尝试过的每一个技巧都可以让事情在正确的顺序未能保持执行顺序相同。从表面上看,这似乎很奇怪,但我当然不知道 specs2 在这种情况下实际上是如何执行的,所以我真的只是在猜测。

所以我的问题是,我怎样才能将 Given 步骤移动到超类或特征中,而不会以任何显着方式影响执行顺序。

0 投票
4 回答
1853 浏览

scala - 使 ScalaCheck 测试具有确定性

我想暂时使我的 specs2 测试套件中的 ScalaCheck 属性测试具有确定性,以简化调试。现在,每次我重新运行测试套件时都可能生成不同的值,这让调试变得令人沮丧,因为您不知道观察到的行为的变化是由您的代码更改引起的,还是仅仅由生成的不同数据引起的。

我怎样才能做到这一点?有没有官方的方法来设置 ScalaCheck 使用的随机种子?

sbt用来运行测试套件。

奖励问题:是否有官方方法可以打印出ScalaCheck 使用的随机种子,以便您甚至可以重现非确定性测试运行?

0 投票
1 回答
2700 浏览

scala - scala:如何在 specs2 中实现这个匹配器

我有以下方法:

我想使用 specs2 进行测试

当未指定必填字段时,我想测试是否存在特定错误,如下所示:

它工作正常,但我想定义我自己的匹配器以使其不那么冗长,如下所示:

我查看了文档(http://etorreborre.github.com/specs2/guide/org.specs2.guide.Matchers.html#Matchers),但我不知道如何定义像 haveError 这样的自定义匹配器。喜欢

0 投票
1 回答
3796 浏览

java - sbt测试编码hickup

我正在为地理坐标工作编写一个 Java 库,并且测试是用 Scala 中的 specs2 实现的。我有许多测试对包含度数符号°(非 ASCII 字符)的字符串进行字符串比较。

如果我在 IntelliJ 中运行这些测试,它们都会通过。他们还传递了 Travis CI。但是,如果我sbt test从我的 Power Shell (Windows x64) 运行 (sbt 11.3),所有这些测试都会失败,并且控制台会显示格式错误的字符串,如屏幕截图所示:

编码问题

可能是什么问题,我该如何解决?我检查了这些文件是 UTF8 编码的。另请注意,更改我的 Java 配置不会有太大帮助,因为如果其他人克隆存储库,则只需运行测试(因此任何仅在我的系统上解决问题的解决方案都无济于事)。但我完全不知道这里出了什么问题......