问题标签 [scalatest]

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 回答
30679 浏览

unit-testing - ScalaTest 和 Scala Specs 单元测试框架有什么区别?

两者都是用 Scala 编写的支持 BDD(行为驱动开发)的 Scala 单元测试框架。而Specs 的构建也可能涉及到ScalaTest框架。但是 Specs 提供的 ScalaTest 没有提供什么?有什么区别?

0 投票
4 回答
1322 浏览

java - 单元测试相同特征/接口的多个实现

我主要在 scala 和 java 中编程,在 scala 和 junit 中使用 scalatest 进行单元测试。我想将相同的测试应用于相同接口/特征的多个实现。这个想法是验证接口契约是否被强制执行并检查 Liskov 替换原则。

例如,在测试列表的实现时,测试可能包括:

  • 一个实例应该是空的,当且仅当且仅当它的大小为零。
  • 调用 clear 后,大小应该为零。
  • 在列表中间添加一个元素会使 rhs 元素的索引增加 1。
  • 等等

最佳做法是什么?

0 投票
1 回答
720 浏览

scala - 将 SBT 与 ScalaTest 一起使用时,是否可以安全地忽略 ScalaCheck/Specs 警告?

我有一个简单FunSuite的基于 ScalaTest:

我正在使用以下 SBT 项目配置运行它:

但是,当我运行时,sbt test会收到以下警告:

目前我假设这些只是“噪音”(由统一的测试接口引起?),我可以放心地忽略它们。但这对我内心的强迫症部分来说有点烦人(尽管我准备为其他框架添加依赖项并不是那么烦人)。

这是一个正确的假设,还是我的测试/配置代码中有细微的错误?如果可以安全地忽略,是否有任何其他方法可以抑制这些错误,或者人们是否经常包含所有三个框架,以便他们可以为不同的测试挑选最佳方法?

蒂亚,保罗。

(添加:scala v2.7.7 和 sbt v0.7.4)

0 投票
3 回答
2480 浏览

scala - ScalaTest:单例对象重新初始化的问题

我正在使用 ScalaTest 测试我用 Scala 编写的解析器。解析器一次处理一个文件,它有一个单例对象,如下所示:

我写的测试用例有点像这样

现在在每次迭代中,单例对象 Resolver 中先前迭代的副作用不会被清除。

有没有办法指定 scalatest 模块重新初始化单例对象?

更新:使用丹尼尔的建议,我更新了代码,还添加了更多细节。

更新:显然是解析器在做一些可疑的事情。在随后的调用中,它不会丢弃先前的 AST。奇怪的。由于这是题外话,我会挖掘更多,可能会使用一个单独的线程进行讨论,谢谢大家的回答

最终更新:问题出在 Resolver 以外的单例对象上,它位于其他文件中,所以我不知何故错过了它。我能够使用 Daniel Spiewak 的回复来解决这个问题。这是做事的肮脏方式,但考虑到我的情况以及我正在编写测试代码的事实,这也是唯一的事情,这不会进入生产使用。

0 投票
1 回答
332 浏览

scala - Scala:基于文件夹定义测试用例

我必须测试一个接受一个输入文件的程序。我已将所有输入文件放在一个文件夹中,现在我想使用 SBT 和 ScalaTest 具有以下功能:

  • TestAll :为所有文件一次调用一个输入文件的程序
  • test测试一:使用从 sbt 控制台提供的一个输入文件作为命令的参数来调用程序

暂时foldername是固定路径,所以可以通过以下方式获取所有文件的列表:

谁能给我一个简短的想法,说明哪个 scalatest 类最适合这个目的?

0 投票
2 回答
2534 浏览

unit-testing - ScalaTest:使用 ShouldMatcher 检查序列的内容

在我的单元测试中,我想表达一个计算(结果)序列产生了一个预定义的结果值序列。但无需假设任何关于序列容器的实际实现类型。

我想清楚地说明我的意图,不言自明。
如果我尝试使用 ScalaTest 的“ShouldMatchers”并编写

...然后我遇到了简单相等的麻烦,因为calculation(..)可能返回一个ArrayBufferSeq("x","u")而是一个List

0 投票
3 回答
623 浏览

unit-testing - 改进此代码的方法

我正在尝试使用 Scalatest 为我的 java 应用程序编写一些测试代码。我想,既然 Scala 有更多可读的语法,它会产生更可读的测试代码。

到目前为止,这是我管理的:

我对这段代码很失望。这实际上与我需要用 Java 编写的内容相同。请帮助我使它更像scala和功能。

0 投票
5 回答
16471 浏览

java - 如何从 Scala 代码中动态填充 java.util.HashMap?

我正在对来自 ScalaTest 的 java 代码进行单元测试,并希望在它声明的同一语句中填充 java.util.HashMap。在 Scala 中可以做到这一点吗?

0 投票
3 回答
4868 浏览

scala - 使用 TDD 学习 Scala

我现在正在学习 Scala。我看到那里有 2 个测试框架,ScalaTest 和 Specs。我唯一的问题是我仍然不能轻松地决定哪种语言更好。此外,我习惯于在代码之前编写测试,目前我不清楚如何在函数式编程中做到这一点。理想情况下,我想以 TDD 方式学习 Scala,有没有关于它的资源?

0 投票
3 回答
3881 浏览

exception - 如何使用 ScalaTest 测试预期异常的附加属性

我正在使用 ScalaTest 来测试一些 Scala 代码。我目前使用这样的代码测试预期的异常

但是我想对异常添加额外的检查,例如我想检查异常消息是否包含某个字符串。

有没有“干净”的方法来做到这一点?还是我必须使用 try catch 块?