首页 > 解决方案 > 使用 moq 测试 mvvm 模型 - 构造函数将 dependencyContainer 作为参数

问题描述

我正在尝试测试使用 autofac 和 MugenMvvmToolkit 开发的 mvvm 模型。我遵循以下教程(https://mugenmvvmtoolkit.readme.io/docs/how-to-write-unit-tests-for-viewmodels)但是当我创建我的设置方法时,我收到以下错误:

Message: 
    System.MissingMethodException : Method not found: 'Void Autofac.RegistrationExtensions.RegisterSource(Autofac.ContainerBuilder, Autofac.Core.IRegistrationSource)'.
  Stack Trace: 
    AutofacContainer.ctor(ContainerBuilder containerBuilder)
    AutofacContainer.ctor()
    UnitTest1.ctor() line 20 

到目前为止,我不知道为什么这是我的代码(我使用 xunit 而不是 Nunit 的话):

using System;
using Moq;
using MugenMvvmToolkit;
using MugenMvvmToolkit.Infrastructure;
using MugenMvvmToolkit.Interfaces;
using MugenMvvmToolkit.Interfaces.Presenters;
using MugenMvvmToolkit.Models;
using Xunit;

namespace Mobile.Pull.Agro.Tests
{
    public class UnitTest1 : UnitTestBase
    {
        public UnitTest1()
        {
            _viewModelPresenterMock = new Mock<IViewModelPresenter>();
            _serializer = new Serializer(AppDomain.CurrentDomain.GetAssemblies());
            var container = new AutofacContainer();
            container.BindToConstant(_viewModelPresenterMock.Object);
            Initialize(container, new DefaultUnitTestModule());
            ApplicationSettings.CommandExecutionMode = CommandExecutionMode.None;
        }

        private Mock<IViewModelPresenter> _viewModelPresenterMock;
        private ISerializer _serializer;

        [Fact]
        public void Test1()
        {
           Assert.True(true);
        }
    }
}

标签: c#moqmugenmvvmtoolkit

解决方案


推荐阅读