spray-testkit === статус проходит независимо от статуса

У меня есть следующий тест в spray-testkit со scalatest, и я не понимаю, почему тест проходит каждый раз, несмотря на фактический статус.

import akka.actor._
import akka.event.LoggingReceive
import akka.testkit.TestProbe
import com.ss.rg.service.ad.AdImporterServiceActor.{GetImportStatus, StatusOfImport}
import org.scalatest.{MustMatchers, WordSpecLike}
import spray.http._
import spray.testkit.ScalatestRouteTest


class AdServiceApiTest extends WordSpecLike with MustMatchers with ScalatestRouteTest {

  "AdService REST api " must {
    "POST for import with mandatory parameters should be processed" in {
      val p = TestProbe()
      val addressServiceMock = system.actorOf(Props(classOf[AdServiceActorMock], p.ref))

      Post("/service/ad/import?adId=1") ~> new AdServiceApi(addressServiceMock).route ~> check {
        handled must be(true)

//        rejections must have size 1
        response.status === StatusCodes.NotAcceptable
      }
    }
  }

Тест проходит, хотя этот статус должен быть другим, и когда я сделал тест неудачным по очевидной причине, такой как отклонение... сообщение об ошибке выглядит следующим образом:

Request was not rejected, response was HttpResponse(202 Accepted,HttpEntity(text/plain; charset=UTF-8,The request has been accepted for processing, but the processing has not been completed.),List(),HTTP/1.1)
org.scalatest.exceptions.TestFailedException: Request was not rejected, response was HttpResponse(202 Accepted,HttpEntity(text/plain; charset=UTF-8,The request has been accepted for processing, but the processing has not been completed.),List(),HTTP/1.1)
    at spray.testkit.ScalatestInterface$class.failTest(ScalatestInterface.scala:25)

Кажется, здесь мне не хватает какой-то важной концепции.

Может кто-нибудь уточнить?

ОБНОВЛЕНИЕ: следующие работы работают правильно

status must equal(StatusCodes.Accepted)

person jaksky    schedule 16.03.2015    source источник


Ответы (1)


=== недостаточно. Вы должны написать

status should === (StatusCodes.NotAcceptable)

or

assert(status === StatusCodes.NotAcceptable)
person vptheron    schedule 16.03.2015
comment
Добавим немного фона, === - это просто безопасный для типов метод equals, и поэтому он не генерирует исключений (и не должен). - person Roland Kuhn; 17.03.2015
comment
Компиляция с -Ywarn-value-discard может помочь решить эту проблему. - person lmm; 17.03.2015