- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
当我尝试以下 JustMock 时:
var mockedField = Mock.CreateLike<Field>(field => field.DisplayName == "Test Display");
我收到以下错误:
at Sitecore.Data.Fields.Field.GetValue(Boolean allowStandardValue, Boolean allowDefaultValue)
at Sitecore.Data.Fields.Field.get_Value()
at Sitecore.Data.Fields.Field.ToString()
at System.Linq.Expressions.ExpressionStringBuilder.VisitConstant(ConstantExpression node)
at System.Linq.Expressions.ConstantExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionStringBuilder.OutMember(Expression instance, MemberInfo member)
at System.Linq.Expressions.ExpressionStringBuilder.VisitMember(MemberExpression node)
at System.Linq.Expressions.MemberExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionStringBuilder.VisitLambda[T](Expression`1 node)
at System.Linq.Expressions.Expression`1.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionStringBuilder.ExpressionToString(Expression node)
at System.Linq.Expressions.Expression.ToString()
at Telerik.JustMock.Core.ExpressionUtil.ConvertMockExpressionToString(Expression expr)
at Telerik.JustMock.Core.MocksRepository.Arrange[TMethodMock](Expression expr, Func`1 methodMockFactory)
at Telerik.JustMock.Mock.<>c__DisplayClassa`1.<Arrange>b__8()
at Telerik.JustMock.Core.ProfilerInterceptor.GuardInternal[T](Func`1 guardedAction)
at Telerik.JustMock.Mock.Arrange[TResult](Expression`1 expression)
at Telerik.JustMock.Expectations.ReturnArranger.ArrangeReturn[T](Expression`1 callPattern, LambdaExpression returnValueExpr)
这似乎是因为它试图将“Field”类转换为字符串。 “Field”类的“ToString”被在测试环境中不起作用的逻辑覆盖。所以,我自然而然地尝试为 Field 的所有实例重写“ToString”方法:
var fieldMocker = Mock.Create<Field>();
Mock.Arrange(() => fieldMocker.ToString()).IgnoreInstance().Returns("Override To String");
当我创建“Field”的实例时,我验证它正在工作,但由于某种原因,当我尝试设置 Mock 时,原始的“ToString”被调用。
有什么想法吗?
最佳答案
在这种情况下,field.ToString()
恰好在 DMZ 或 De-Mockerized Zone 中被调用。因此,您所做的安排没有得到尊重。它看起来确实像一个错误,所以我已经记录了这个问题。
感谢您报告错误。不幸的是,我无法为您提供任何解决方法(除了暂时不使用 CreateLike
),所以我会尽快修复它。
更新:错误修复是 checked in .它将在 JustMock 2015 Q1 版本或之前的内部版本中正式可用。
关于c# - JustMock:通过示例模拟 ToString 评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22001962/
使用 JustMock,我可以安排一个模拟来根据输入参数返回一些东西吗? 例如,假设一个方法接受一个 int , 我想返回那个值 + 1 我希望输出总是被模拟为输入+1,但我不知道设计时的输入。 我对
为了编写单元测试,我需要为基于 WinRT 的应用程序集成一个模拟框架,并决定哪个模拟框架最适合。我最终比较了 JustMock(许可版)和最小起订量。我找不到两者之间的详细比较。然而,一些文章说,就
我使用 JustMock 框架并有以下断言: Mock.Assert(() => activityListenerMock.PeriodPassed( Arg.Matches(e => e.Len
我正在使用 JustMock 和 AutoFac 并尝试模拟一组非常简单的对象,但我似乎无法正确使用语法... var labResults = Mock.Create();
我正在尝试使用忽略事件的 JustMock 编写单元测试。 我不想测试事件本身,因为它会调用各种内部函数,而这些函数需要大量的 Mock 工作。 这里是一小段示例代码: public class Sa
我正在尝试测试以下代码: public ICollection ReadCatalog(string familyName) { // Root folder for the family
我正在使用 C#、.NET Framework 4.7、Nunit 3.8.0 和 JustMock Lite 2017.2.821.1 开发 TDD 测试。 当我这样做时: IGenericRepo
当我尝试以下 JustMock 时: var mockedField = Mock.CreateLike(field => field.DisplayName == "Test Display");
我刚刚安装了 Telerik.JustMock.EntityFramework 包,我正在尝试。 我已经试过了: var ctx = EntityFrameworkMock.Create().Prep
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
按照以下网址的指示:http://www.telerik.com/help/justmock/advanced-usage-static-mocking.html 我没有成功模拟 Configurat
在 justmock 中,我们可以通过安排构造函数调用来返回模拟实例而不是实际实例 Mock.Arragne(()=>new MyClass(Arg.IsAny())).IgnoreInstance(
我是 TDD 和单元测试的新手,我有 JustMock 商业版和一周的时间来学习如何使用它。下面是一个接口(interface),一个类和一个通过的测试方法。我必须添加 Class1 faceDoes
我正在尝试使用 JustMock 模拟 Entity Framework 6.0.2 异步方法。我正在关注 testing with async queries但它是使用最小起订量编写的我试图在Moc
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
给定以下条件: 一个非常古老、庞大、没有任何测试覆盖的 C# 遗留代码库 (几乎)每个类都派生自某个接口(interface) 没有什么是密封的 与使用 extract&override + 例如犀牛
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 3 年前。 Improv
我是一名优秀的程序员,十分优秀!