Scala 找不到参数上下文的隐式值:akka.actor.ActorContext
我想使用Scala 找不到参数上下文的隐式值:akka.actor.ActorContext,scala,unit-testing,akka,actor,scalatest,Scala,Unit Testing,Akka,Actor,Scalatest,我想使用TestActorRef为下面的程序编写测试用例。嵌套的参与者场景,但当我尝试创建上下文时,我面临编译错误。请帮我解决这个问题 主程序: object TextCleaningScheduler extends App { val system = ActorSystem("cleanText") val projectsActor = system.actorOf( Props(classOf[DataByProjects]) ) projectsActor ! Pr
TestActorRef
为下面的程序编写测试用例。嵌套的参与者场景,但当我尝试创建上下文时,我面临编译错误。请帮我解决这个问题
主程序:
object TextCleaningScheduler extends App {
val system = ActorSystem("cleanText")
val projectsActor = system.actorOf( Props(classOf[DataByProjects]) )
projectsActor ! ProcessDataByConnections(1,1)
}
case class ProcessDataByConnections( accID : Int, projectID : Int )
class DataByProjects extends Actor {
def receive = {
case ProcessDataByConnections( accID, projectID ) => {
val dbName = "some_example"
val connectionStr = "cassandra://IPaddress/" + dbName
val elasticsearchIp = "ipaddress"
val elasticsearchPort = "9200"
val dbObject = new DatabaseOperations(dbName,
connectionStr,
elasticsearchIp,
elasticsearchPort
)
val query = "{ \"query\" : { \"match\" : { \"project_info_mapping.project_id\" : " + projectID + " } } }"
val fetchedData = dbObject.queryData("project_instance",query,"project_instance","data")
var counter = 0
//for ( row <- fetchedData) {
val row = fetchedData(0)
println(row)
val conn = row("project_instance_id")
val textCleaningInfo = row("text_cleaning")
val tempConn = 3
val queueName = "RAWDATA_A" + accID + "_C" + tempConn
var accInfo : Map[String, Any] = Map( "accID" -> accID , "projectID" -> projectID, "conn" -> tempConn )
accInfo += ("textCleaning" -> textCleaningInfo, "wordsToRemove" -> row("remove_words"), "findAndReplace" -> row("find_and_replace") )
accInfo += ("dataVariable" -> row("data_variable_name"), "dataLabel" -> row("data_variable_label") )
val queueActor = context.actorOf(Props(classOf[GetAndPushQueue], accInfo ), "queue" + counter )
信息:2015年5月29日上午11:05-编译完成,17s 68毫秒内出现2个错误和0个警告
Error:Error:line (32)could not find implicit value for parameter context: akka.actor.ActorContext
actorRef.forward()
^
Error:Error:line (32)not enough arguments for method forward: (implicit context: akka.actor.ActorContext)Unit.
未指定值参数上下文。
actorRef.forward()
^对我来说,您似乎不属于测试的参与者,因此没有可用的
上下文。你能标记一下你从哪里得到这个错误消息吗?@GáborBakos我已经发布了错误详细信息,并且很好地标记了这一行
Error:Error:line (32)could not find implicit value for parameter context: akka.actor.ActorContext
actorRef.forward()
^
Error:Error:line (32)not enough arguments for method forward: (implicit context: akka.actor.ActorContext)Unit.