在VS2107/2019中,当。net Core 2.1启用分析器时,Visual Studio调试器箭头指针混乱
步骤
代码片段
Mock.SetupStatic (typeof (ElasticOperationsHelper)的行为。严格,StaticConstructor.Mocked);
Mock.Arrange(() => elasticRepository.IndexDocumentInElastic
在调试时,发现VS调试器的箭头指针混乱,指向错误的行号。在这种情况下开发单元测试是相当困难的。这个问题有解决办法吗?
我找到了文章在支持页面也因为同样的问题被拒绝。这完全依赖于“CLR”修复和。net分析器吗?如果可以的话,你能提供给我微软的Bug细节吗?
我还想知道为什么有必要为“静态模拟”、“非虚拟方法模拟”、“私有模拟”等场景启用分析器。
这只发生在。net核心吗?
Hyland Software正在评估该产品作为他们所有。net核心项目单元测试的mock框架。
如果没有解决方案,任何潜在客户怎么能认为这是一个很好的适合他们的使用?此刻是否有任何可行的解决办法?
在升级到。net Core 3.0之后,会为一些JustMock方法抛出异常,比如donnothing()和Throw()。在DoNothing()的情况下,只会为返回值的方法抛出异常。
以下是完整的例外情况:
系统。我nvalidCastException : Unable to cast object of type 'System.AppDomainSetup' to type 'YourType'
PrivateAccessor的CallMethod使用反射来调用所需的方法。当在该方法中抛出异常时,它将被反射包装在测试方法中接收的TargetInvocationException中。
抛出原始异常,而不是TargetInvocationException。
我刚刚将它安装到桌面上,加载了Visual Studio 2019 (Ent),我没有看到任何视觉参考或其他方式。
老实说,如果我现在花了$$,我已经卸载并放弃了。
在初始化Telerik.JustMock.PrivateAccessor类的静态构造函数时,不会考虑已经模拟的方法的值。
这里有一个例子:PrivateAccessor.ForType(typeof(Foo))。SetField(“someStringField”、“stringvalue”);
一个解决方法是调用Mock.Intercept(typeof(Foo));在调用PrivateAccessor之前。
使用以下两个Arrange覆盖来模拟相同的方法会有不同的行为:public static funcexpectArrange (Expression > Expression);public static funcexpect < result > Arrange (T obj, Func Func);Repro项目附件。复制步骤:打开附着溶液2。在Tests.cs中,运行JustMockArrangeQueryableTest——它通过了3。运行JustMockArrangeQueryableTest2——它会在Residents集合上出现无效强制转换异常而失败。
嗨,我遇到了我认为是一个bug。
我希望下面的单元测试能够通过。但事实并非如此。
这个例子是从一个更复杂的案例中提炼出来的。
是否不支持其他线程创建mock ?
(事实)公共异步任务失败(){variTask = Task.Run(() => Mock.Create ());var我=等待iTask;EA expectedArgs =新EA ();EA receivedArgs =零;1 . done += (sender, ea) => receivedArgs = ea;
i.Raise(x => x. done +=零, expectedArgs);断言。平等(expectedArgs receivedArgs);}公共类EA:EventArgs{}公共接口我{事件EA EventHandler < >;}