在我的WPF应用程序中,我有一个MainWindow.xaml和一个相关的MainWindow.xaml.cs。后者具有一个属性DatabaseAccessor,该属性访问数据库:
public partial class MainWindow : System.Windows.Window
{
public IDatabaseAccessor DatabaseAccessor { get; set; }
public MainWindow()
{
InitializeComponent();
DatabaseAccessor = ne
我试图用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
我为一个函数编写单元测试,为此我需要模拟一个实体。我就是这么嘲笑的:
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
我有一节课
public interface IMyInterface
{
string MethodA();
void MethodB();
}
public class MyClass : IMyInterface
{
public string MethodA()
{
// Do something important
}
public void MethodB()
{
string value = MethodA();
// Do something important
我有下面的类,我正在尝试测试AddRecordToQueue方法。
我使用Moq来模拟AddRecordToQueue方法中AddToQueue方法的结果。
AddToQueue方法返回一个布尔值,因此我尝试用一个真值模拟结果
public class Test
{
private readonly IRabbitMqConnection rabbitMqConnection;
public Test(IRabbitMqConnection rabbitMqConnection)
{
this.rabbitMqConnection = rabbitMq
Moq.SetupGet抛出异常。
为什么?
如果我没有办法,如何正确地做这件事,如何更改测试的类(我不能添加接口或使属性变为虚拟的或类似的东西)
班级
public class ToDelete
{
public int ToDeleteProperty
{
get;
set;
}
}
测试
[TestMethod]
public void PutCaseByIdCaseContactsExperimental()
{
var toDelete = new Mock<ToDelete>();
toDelete
我对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
当我用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可以用Moq库重写构造函数吗?
我有这样一门课:
public class A{
private string _b;
public A()
{
_b = Service.getB();
}
public int duplicate(int a){
return a*2;
}
}
我想测试方法“重复”,但是我不能实例化A类型的对象,因为我缺少一些依赖项。我可以以某种方式重写/模拟构造函数来创建一个对象并使用它来测试其他方法吗?
只应在测试中应用更改,I不应更改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:
我正在我的项目中编写一些单元测试,并且我在控制器上有一个datacontext依赖项,其中包含我想要测试的方法。
我使用Ninject注入依赖项,使用Moq创建我的模拟数据上下文。我的DI使用dbml实现的接口IDataContext,并在整个注入过程中使用该接口。
在我的单元测试中,我创建了我的模拟数据上下文,如下所示:
var mock = new Mock<IDataContext>();
var myController = new MyController(mock.Object);
在执行datacontext构造函数时,这会在第二行抛出Object reference
在Moq中,我希望断言使用特定参数调用方法TestMethod。当测试失败时,我希望看到一个有用的错误消息,类似于:
TestMethod以意外值X调用参数P,其中Y是预期的。
public interface ITestObject
{
void TestMethod(int parameter);
}
为了举例说明,我可以使用一个手写的模拟来实现这一点,如下所示:
Assert.AreEqual失败了。Expected:<3>。Actual:<2>。TestMethod以参数“实际”的意外值调用。
public class MockTestMetho
我有下面的代码,其中我的模拟接口有一个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
我正在使用xUnit和Moq编写单元测试。我测试的类有一个属性
public DocumentClient documentClient {get; set;}
我正在尝试使用Moq模拟此属性,并尝试模拟DocumentClient的OpenAsync方法。这就是我创建Mock对象的方式。
var documentClientObj = new Mock<DocumentClient>();
但是我收到一个错误,说"System.NotSupportedException :要模拟的类型必须是接口、抽象类或非密封类“。