c# - 使用 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);
}
}
}
解决方案
推荐阅读
- vba - int 变量不会改变 VBA PowerPoint
- node.js - 将对象数组插入文档
- linux - 用于四核 ARM A53 的 Linux CONFIG_PREEMPT_RT(新手疑惑)
- reactjs - 使用 react-svg-loader 导入 svg 文件时模块构建失败
- javascript - 在 React 中有条件地渲染组件
- c# - 如何在同一个按钮中使用鼠标和触摸事件?
- javascript - Ngrx 选择器:createSelector VS 纯 rxjs
- c# - 在 Unity 中用静态实例替换 SerializeField
- processing - 加工旋转线
- python - 将循环的输出向右移动