Comment simuler (avec Moq) les méthodes Unity

Les méthodes d'Extension ne sont pas bonnes pour le test (c'est décrit ici: Se moquant des Méthodes d'Extension avec Moqhttp://www.clariusconsulting.net/blogs/kzu/archive/2009/12/22/Howtomockextensionmethods.aspx).

Mais probablement il y a des solutions pour s'être moqué de l'Unité méthodes? Dans mon cas, j'ai la fonction suivante:

public class MyManager
{
    public MyManager(IUnityContainer container) : base(container) { }

    public IResult DoJob(IData data)
    {
        IMyLog log = MyContainer.Resolve<IMyLog>();

        ... use log.Id ...

        MyContainer.Resolve<...>();//usage for other purposes...
    }

Je veux être sûr que " DoJob méthode obtiendrez toujours 'IMyLog' objet de conteneur, mais pas à partir d'autres sources... comment pourrais-je tester?

Mon idée de départ était de changer " DoJob méthode de la mise en œuvre et d'utilisation:

IMyLog log = UnityContainer.Resolve(typeof(IMyLog)) as IMyLog;

Mais " Résoudre(Type t, ...) est aussi une méthode d'extension...

Toutes les pensées sont les bienvenus.

P. S. Veuillez noter, que "mon journal' objet est créé loin de MyManager.DoJob...

source d'informationauteur Budda