我有一個用於檢查Web服務的測試代碼,一些繼承類帶來HttpService
(不確定,哪一個),要求我在測試類中定義一個actorRefFactory
引用。測試噴射路線:爲什麼需要定義actorRefFactory:ActorSystem?
有沒有更好的方法來做到這一點?
斯卡拉2.11.4,ScalaTest 2.2.1,1.3.2噴霧,阿卡2.3.6
class RestAPITest extends FlatSpec
with Matchers
with ScalatestRouteTest
with SprayJsonSupport
with MyRoute
{
// Without this, we get:
// <<
// Error:(48, 7) class RestAPITest needs to be abstract, since method actorRefFactory in trait HttpService of type => akka.actor.ActorRefFactory is not defined
// <<
//
def actorRefFactory: ActorSystem = system
...
謝謝。我不明白的是爲什麼ScalatestRouteTest不能提供默認值,因爲通常情況下這些事情都是通過Scala中的暗示來完成的(對吧?)爲什麼不在這裏呢?命名一個抽象成員只是覺得有點不可思議。 – akauppi 2014-12-04 12:31:45
不幸的是,我對這個問題沒有很好的答案。可能值得與郵件列表聯繫,看看你得到了什麼樣的答案。這可能是另一個演員系統,噴霧用於內部業務。這會使隱式聲明覆雜化,因爲你會有兩個ActorSystems。作者也可能確定人們通常希望用他們自己的ActorSystems進行測試。很難確定沒有通過代碼挖掘,雖然... – jxstanford 2014-12-04 19:32:33
沒錯。將繼續。謝謝 – akauppi 2014-12-05 09:17:58