我正在尝试使用Moq创建一个测试提供程序的单元测试。这句话让我很难过:
var appUser = new Mock<PreRegistrationMVC.Models.ApplicationUser>();
var userStore = new Mock<MongoDB.AspNet.Identity.UserStore<PreRegistrationMVC.Models.ApplicationUser>>();
看起来userStore不能正确地实例化,这是错误。
Castle.DynamicProxy.InvalidProxyConstructorA
因此,我从Moq主页上几乎逐字复制了,并得到了一个城堡代理异常。
以下是我的代码(作为一个简单示例的控制台应用程序)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Moq;
namespace MoqTestConsole
{
public interface ILoveThisFramework
{
bool DownloadExists(string s);
}
class Program
{
我尝试在Mono2.8.2上编译这个moq示例,目标是.NET 3.5,使用MonoDevelop 2.4.1。
using System;
using Moq;
namespace moq_demo
{
public interface IFoo
{
bool DoSomething(string n);
}
class MainClass
{
public static void Main (string[] args)
{
var mock = new Mock<IF
我正在使用Moq作为我的单元测试的模拟库。
似乎很难找到温莎城堡图书馆,因为它给了我这个错误:
System.TypeInitializationException : Une exception a été levée par l'initialiseur de type pour 'Moq.Mock`1'.
----> System.TypeInitializationException : Une exception a été levée par l'initialiseur de type pour 'Moq.Proxy.Castle
我不知道如何在Moq中将参数从Setup()传递到pass ()。
下面是一个示例:
public static IInterfaceHandler GetInterfaceHandlerMoq()
{
// Defining the moq
var moq = new Mock<IInterfaceHandler>();
// Trying to set up a moq using another moq
moq.Setup(m => m.CreateCommunicationInterface(It.IsAny<Guid>(), I
当我用Moq.AutoMock.Automocker模拟"autoMocker.CreateInstance();“时,我得到了下面的通用消息。HeliumController类的构造函数有几个接口。我如何才能找到哪个特定的接口或构造函数无法模拟?
{System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.NotSupportedException: Type to mock must be an inte
我对Moq完全陌生,现在正在尝试为System.Reflection.Assembly类创建一个mock。我使用的是以下代码:
var mockAssembly = new Mock<Assembly>();
mockAssembly.Setup( x => x.GetTypes() ).Returns( new Type[] {
typeof( Type1 ),
typeof( Type2 )
} );
但是当我运行测试时,我得到了下一个异常:
System.ArgumentException : The type System.Reflection
我为一个函数编写单元测试,为此我需要模拟一个实体。我就是这么嘲笑的:
Mock<ISimpleData> data = new Mock<ISimpleData>();
data.Setup(i => i.RiskId.Value).Returns("123");//gets error here
RiskId是StringData : DataGeneric<string>型的。从错误中可以看出,由于RiskId.Value的数据类型,Moq无法获取RiskId。
在我编写测试的函数中使用这个属性时,我还可以模拟RiskId.Valu
我有下面的代码,其中我的模拟接口有一个Recorder属性,它是一个类。
然后,我尝试在该类上设置一个属性,但我得到了一个Expression is not a method invocation错误。你能帮忙吗?
当它尝试设置enum属性时,错误发生在运行时。它抛出具有以下堆栈跟踪的ArgumentException:
at Moq.ExpressionExtensions.ToMethodCall(LambdaExpression expression)
at Moq.Mock.<>c__DisplayClass1c`2.<Setup>b__1b()
a
我在做一个网络应用程序。这是一个ASP.NET应用程序。我需要为CreateResponse类的方法HttpStatusCode statusCode,T值创建一个模拟。但是每次我执行我的测试并得到异常
Test Name: RHT.Tests.Controllers.AccountControllerTests.Can_login_with_valid_credentials
Test FullName: RHT.Tests.Controllers.AccountControllerTests.Can_login_with_valid_credentials
Test Source:
我试图用Moq来模拟MouseButtonEventArgs.GetPosition(),但是我一直收到这个错误:
System.ArgumentException:非覆盖成员上的无效安装程序:M => m.GetPosition(It.IsAny()) at Moq.Mock.ThrowIfCantOverride(表达式设置,MethodInfo methodInfo)在Moq.Mock.<>c__DisplayClass122.<Setup>b\_\_11() at Moq.PexProtector.Invoke<T>(Func1函数处,TRe
Moq.SetupGet抛出异常。
为什么?
如果我没有办法,如何正确地做这件事,如何更改测试的类(我不能添加接口或使属性变为虚拟的或类似的东西)
班级
public class ToDelete
{
public int ToDeleteProperty
{
get;
set;
}
}
测试
[TestMethod]
public void PutCaseByIdCaseContactsExperimental()
{
var toDelete = new Mock<ToDelete>();
toDelete
我得到了以下代码的错误
public static Moq.Mock<T> CreateInstanceOfIMock<T>() {
return new Moq.Mock<T>();
}
通过使用引用的类型,我获得了错误的class。参见下面的代码
public static Moq.Mock<T> CreateInstanceOfIMock<T>() where T : class
{
return new Moq.Mock<T>();
}
现在,我希望通过使用var mockColorsReposi
形势
我这里有下面的代码
ITest.cs
public interface ITest
{
int Prop { get; }
int Calc();
}
Test.cs
public class Test : ITest
{
public int Prop { get; private set; }
public int Calc()
{
return Prop * 2;
}
}
我想测试Calc()方法。如果我的理解是正确的,那么如果不使用virtual关键字,就不能覆盖具体类的getter属性。
例如
var moq =
我试图为下面的方法编写单元测试:
public async Task<int> Method1(string agentId, long userId)
{
using var scope = _provider.CreateScope();
var class1Object = scope.ServiceProvider.GetService<Class1>();
var user = await class1Object.Users.FirstOrDefaultAsync(a => a.UserId
我正在尝试模拟抽象泛型类中的函数,该类的构造函数中有更多的抽象类。 下面是测试结果: [Test]
public void AbstractRepoTest()
{
var options = new Mock<DbContextOptions<CustomDbContext>>();
var db = new Mock<CustomDbContext>(options);
var repo = new Mock<BaseRepos
我使用Moq来模拟GetCollection方法,但是行崩溃了。
var collectionSettings = new MongoCollectionSettings
{
GuidRepresentation = GuidRepresentation.Standard,
ReadEncoding = new UTF8Encoding(),
ReadPreference = new ReadPreference(),
WriteConcern = new WriteConcern(),
WriteEncoding = new UTF8Encoding(
是什么导致了这一异常?我试图使用Moq来模拟Microsoft.Office.Interop.Excel.Range。我想在里面嵌套另一个被嘲弄的Range。但是,当我试图访问嵌套异常时,会引发异常。
异常
不能将[]索引应用于“Castle.Proxies.RangeProxy”类型的表达式
码
[TestMethod]
public void RangeProxyIndexTest()
{
// creating first range
var cell1 = new Moq.Mock<Range>();
cell1.Setup(c =>
我已经从管理nuget包为我的项目安装了Moq Nuget包。项目成功构建,但当我运行测试用例时,它抛出以下错误
System.IO.FileLoadException: Could not load file or assembly 'Moq, Version=4.2.1502.911, Culture=neutral, PublicKeyToken=69f491c39445e920' or one of its dependencies
我检查了项目引用,发现Moq.dll就在那里。
另外,我在测试运行的输出窗口中注意到了这一点
------ Discover test s