2016-04-21 169 views
2

如何构建与akka.net的松散耦合?假设我有一个使用Akka.net的MVC应用程序,并且我希望能够在不使用真正的actor系统的情况下测试MVC应用程序中的控制器。有点像当你想用moq实现一个数据访问存储库来测试一个业务层。通常在这种情况下,您可以为存储库定义一个intervace,并且您可以在没有具体存储库的情况下进行测试。依赖注入akka.net

在这种情况下,我想测试我的MVC应用程序而不使用实际的actor系统。如果MVC应用程序与远程参与者系统交互,这可能尤其相关。在这种情况下,我想要某种界面来表示对远程角色系统和角色的访问。

回答

0

ActorSystem实现IActorRefFactory

public interface IActorRefFactory 
{ 
    IActorRef ActorOf(Props props, string name = null); 
    ActorSelection ActorSelection(ActorPath actorPath); 
    ActorSelection ActorSelection(string actorPath); 
} 

这应该允许您使用模拟框架选择的,嘲笑的ActorSystem和有回报模拟IActorRefs你的控制器进行交互。