2015-03-16 3 views
1

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

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) 

Кажется, что мне не хватает некоторых важное понятие здесь.

Не могли бы вы прояснить ситуацию?

UPDATE: После работы правильно

status must equal(StatusCodes.Accepted) 

ответ

0

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

status should === (StatusCodes.NotAcceptable) 

или

assert(status === StatusCodes.NotAcceptable) 
+0

Добавление немного фона, === это просто типобезопасный равно метод и как таковой он не выбрасывает исключения (и не должен). –

+0

Компиляция с помощью '-Ywarn-value-discard' может помочь поймать эту проблему. – lmm

Смежные вопросы