我正在编写一些scala测试,并且
when(mockLoader.load(Matchers.eq(expectedPath))).thenReturn(testData)
val data = mockLoader.load(expectedPath)
data.count() shouldBe 0
但是我在对数据执行count()时得到了NPE,这意味着mock认为我放入了一条意想不到的路径。这是expectedPath:
val expectedPath = List("hdfs:///session/stream/folder/100")
当我打印mockito期望的
我有一个帮助器类,它创建另一个类的实例 class TestEnv {
val questionsController = new QuestionsController(...)
} 我正在对QuestionsController进行单元测试,并且已经创建了一个基本的测试用例 class QuestionsControllerUnitSpec extends PlaySpec with BeforeAndAfterAll with BeforeAndAfterEach with OneAppPerSuiteWithComponents{
override def beforeEach
我已经使用ScalaTest的FeatureSpec几天了,我想知道是否可以使用内置的匹配器来定义以下规范(如果没有,我如何编写一个合适的自定义匹配器)。
假设我有一本书:
case class Book(val title: String, val author: String)
在我的测试中,我有一个书单:
val books = List(Book("Moby Dick", "Melville"))
现在,我想指定图书列表应该包含一本书名为"Moby Dick“的书。我想写一些类似这样的东西:
books should contain (value
我试图用AsyncFeatureSpec编写异步测试,如下所示:
import java.net.ConnectException
import org.scalatest._
final class SapRsSpec extends AsyncFeatureSpec
with Matchers
with GivenWhenThen {
feature("Kafka distribution to a server via websocket") {
scenario("Send data to SAP server when Kafka
我正在尝试将ScalaTest合并到我的Java项目中;用ScalaTests替换所有的JUnit测试。有一次,我想检查Guice的Injector是否注入了正确的类型。在Java中,我有一个这样的测试:
public class InjectorBehaviour {
@Test
public void shouldInjectCorrectTypes() {
Injector injector = Guice.createInjector(new ModuleImpl());
House house = injector.getInstanc
在一个测试中,我有下面的代码,它使用Mockito框架来验证方法drawTextOnCanvas()是否被用正确的参数调用。
// The two objects below are mocks. The rest of the objects used in
// the call to verify() are plain old java objects I've instantiated elsewhere.
BufferedImage testImage = Mockito.mock(BufferedImage.class);
Mockito
在ScalaTest中,可以使用如下assertResult宏区分断言中的预期值和实际值:
assertResult(expected) { actual }
这将在测试失败时打印"Expected X, but got Y“消息,而不是通常的"X did not equal Y”。
如何使用(should、must等)实现类似的功能?火柴?
我正在处理一个混乱的csv和几个专栏。有些行在第一列中拥有所有的列值,如下所示:
City Edition Sport Discipline Athlete NOC Gender Event Event_gender Medal
330 Paris,1900,Cricket,Cricket,"ROQUES, F.",FRA,Men,cricket,M,Silver NaN NaN NaN NaN NaN NaN NaN NaN NaN
331 Paris,1900,Cricket,Cricket,"SCHNEIDAU, A.J.",FRA,
我在使用specs2和mockito为scala项目编写测试时遇到了问题。有没有办法对被测试的方法传递给模拟服务方法的参数执行一些复杂的检查?例如:
session = ....
sessionDao.getByUid(sessionUID).returns(Some(session))
val result = service.refreshSessionFor(token)
result must beLeft
got{
one(sessionDao).getByUid(sessionUID)
one(sessionDao).update(any[
例如,scalatest表示,要检查是否定义了Option,我应该使用如下表达式
val opt: Option[String] = ...
opt should be ('defined)
由于Option有isDefined,这要么是API设计,要么实际上是对上述函数的奇异引用……但我想知道这是怎么回事。
我在我的项目中使用ScalaTest 2.2.1,但是我使用的一些依赖带来了ScalaTest 1.9.2。在SBT中,这不会导致任何问题。它编译并运行所有测试。
在IntelliJ中,测试显示具有“无法解析符号in”的in,尽管它仍然编译。测试跑者用“
An exception or error caused a run to abort: org.scalatest.FlatSpecLike$$anonfun$1$$anon$2 cannot be cast to org.scalatest.words.ResultOfStringPassedToVerb
如果我手动从外部库中删除Scal
当使用变量对类进行单元测试时,我面临以下困惑行为。
为了举一个简单的例子,让我们假设我有以下类:
// Case classes are not an alternative in my use case.
final class C(var i: Int = 0) {
def add(that: C): Unit = {
i += that.i
}
override def toString: String = {
s"C($i)"
}
}
为此,我编写了以下琐碎的、看似无害的单元测试:
import org.junit.runner.Run
我履行了以下职能:
/**
* Returns a function h , which is the composition of the functions f and g.
*/
def compose[A, B, C](g: B => C, f: A => B): A => C = f.andThen(g)
我正试着用测试它。我可以生成以下测试,这些测试编译并通过:
import org.scalatest.prop.PropertyChecks
import org.scalatest.{FlatSpec, Matchers}
class ComposeS
我使用的是ScalaTest 2.0和ScalaMock 3.0.1。我如何断言一种被嘲弄的特质的方法叫做“永不”?
import org.scalatest._
import org.scalamock._
import org.scalamock.scalatest.MockFactory
class TestSpec extends FlatSpec with MockFactory with Matchers {
"..." should "do nothing if getting empty array" in {
val buySt
我想在Scala中测试一个私有方法,发现Scala的PrivateMethodTester可以满足我的需求。但似乎有一个进口问题。
import org.scalatest._
//Alternatively, I tried
//import org.scalatest.PrivateMethodTester
//import org.scalatest.FlatSpec
"calculateCutoffCriteria" should "give mu -2sigma, mu - sigma, mu + sigma, mu+2sigma as bounds
我看到有对Option类型的支持,但是自定义case类呢?
我有点想这么做:
result match {
case SuccessCase(values) => {
values.foo should be ("bar")
}
case FailureCase => // should fail test, but how to say this in ScalaTest?
}