无计划的
最后更新: 2022年10月17日12:22 通过

如果您使用c# using声明并启用了JustMock高级(提升)模式,则运行时将抛出InvalidProgramException。

下面是演示该问题的示例代码:

公共TestClassIDisposable{公共无效处理{}}

            
(TestClass公共夹具{公共接口{} [TestMethod公共异步任务测试{ITest mock = mock . create ();使用TestClass test =();}}

完成
最后更新: 2022年9月19日10:47 通过管理
当Azure管道配置为使用Windows-2022代理时,任务Telerik JustMock VSTest v.2报告以下错误:##[error]错误:没有找到Visual Studio 2015。请使用构建代理计算机上存在的版本再试一次。
无计划的
最后更新: 9月1日2022 07:21 通过管理
由: Mihail
评论: 1
类型: 功能要求
1
与dotCover的集成只能通过Telerik.JustMock.Configuration.exe获得,该程序与机器的注册表一起工作,需要安装JustMock。这种方法不适用于基于云的构建代理,因此我们需要一个不需要安装JustMock的集成。
无计划的
最后更新: 2022年7月4日11:41 通过
由:
评论: 0
类型: 功能要求
1

UI应用程序的线程模型与测试主机不同,这可能会导致以下问题:系统。InvalidOperationException: "调用线程必须是STA,因为许多UI组件需要这个".这个请求是关于用一些可以用来轻松解决这个问题的帮助器扩展JustMock。

完成
最后更新: 2022年6月22日13:47 通过管理
由: Mihail
评论: 4
类型: 错误报告
4

当在使用JustMock的异步测试中添加断点时,调试器无法命中它。

按照以下步骤重现问题:

1.打开附带的项目

2.在异步测试方法的第一个安排处创建一个断点。

3.开始调试异步测试

结果:未命中断点。

这个问题在。net核心和。net框架中都可以观察到。

完成
最后更新: 2022年6月22日13:47 通过管理

使用上面提到的(或以后的)产品版本,下面的简单测试失败(抛出NullReferenceException):

(TestMethod公共无效TestMethod{varcultureInfo = Mock.Create< cultureInfo >();varthisThrowsAnException = cultureInfo.Name;}

一种可能的解决方法是创建一个这样的模拟:

            
只读的字符串cultureName = CultureInfo.InvariantCulture.Name;…varcultureInfo = Mock.Create(() =>CultureInfo (cultureName));

完成
最后更新: 2022年6月22日13:46 通过管理

与本地安装的产品相比,使用不同版本的NuGet包可能会导致意想不到的错误,如下图所示:

图像

完成
最后更新: 2022年6月22日13:45 通过管理

该案例可在专用环境中重现(但可能不限于),包括Windows 10, JustMock R3.2021, Visual Studio 2019和。net 5。当分析器被启用时,Visual Studio会在测试发现方面出现问题,并报告“堆栈溢出”异常。这同样适用于使用Azure Function项目构建解决方案。

从测试执行时捕获的内存转储中的CLR堆栈:

000000CD7CE038D0 00007ffafb22d3b6 [GCFrame: 000000CD7CE038D0] 000000CD7CE03A40 00007ffafb22d3b6 [PrestubMethodFrame: 000000cd7ce0a40] 000000CD7CE0A530 00007ffafb22d3b6 [PrestubMethodFrame: 000000CD7CE0A530] System.Runtime.Loader.AssemblyLoadContext.OnAssemblyResolve(System.Reflection. System.Reflection.)RuntimeAssembly, System.String) 000000CD7CE0A988 00007ffafb22d3b6 [GCFrame: 000000CD7CE0A988] 000000CD7CE0E3C0 00007ffafb22d3b6 [PrestubMethodFrame: 000000CD7CE0E3C0] System.Runtime.Loader.AssemblyLoadContext.OnAssemblyResolve(System.Reflection. string)RuntimeAssembly, System.String)…(为简洁而省略)000000CD7CF72548 00007ffafb22d3b6 [GCFrame: 000000CD7CF72548] 000000CD7CF75F80 00007ffafb22d3b6 [PrestubMethodFrame: 000000CD7CF75F80] System.Runtime.Loader.AssemblyLoadContext.OnAssemblyResolve(System.Reflection. System.Reflection.)RuntimeAssembly, System.String) 000000CD7CF763D8 00007ffafb22d3b6 [GCFrame: 000000CD7CF763D8] 000000CD7CF79E10 00007ffafb22d3b6 [PrestubMethodFrame: 000000CD7CF79E10] System.Runtime.Loader.AssemblyLoadContext.OnAssemblyResolve(System.Reflection. System.Reflection.)RuntimeAssembly, System. string) 000000CD7CF7A268 00007ffafb22d3b6 [GCFrame: 000000CD7CF7A268] 000000CD7CF7DCA0 00007ffafb22d3b6 [PrestubMethodFrame: 000000CD7CF7DCA0] System. collections . general . dictionary ' 2[[System. collections . general . dictionary]__Canon, System.Private.CoreLib]、[系统。__Canon, System. private . corelib]]..ctor() 000000CD7CF7DF10 00007FFA9B787B2A System. appcontext .cctor() [/_/src/System. private . corelib /shared/System/AppContext.cs @ 16] 000000CD7CF7E340 00007ffafb2b6c93 [GCFrame: 000000CD7CF7E340] 000000CD7CF7ED18 00007ffafb2b6c93 [HelperMethodFrame: 000000CD7CF7ED18] 000000CD7CF7EE20 00007FFA9B7876B9 System. appcontext . cn]设置(Char**, Char**, Int32)

完成
最后更新: 2022年6月22日13:44 通过管理
目前,JustMock扩展总是使用安装部署的分析器,它可能与JustMock部署的分析器不同。商业计划。这可能会导致在其余运行中出现意想不到的失败,并在Visual Studio内外产生不同的结果。
完成
最后更新: 2022年5月12日07:54 通过管理
当前的参数匹配器像参数。IsAny参数。匹配(以及在NonPublic API中使用的相应的)参数。Expr)只接受类型作为泛型参数,这使得运行时的类型规范变得不可能。
完成
最后更新: 2022年5月12日07:53 通过管理
由:
评论: 3.
类型: 功能要求
2

c# 8引入了默认接口方法实现。尝试在提升模式下使用JustMock模拟此类方法会失败。下面的例子说明了这个问题:

公共接口IMyInterface{intIntProperty {得到= >0;}} [TestClass公共UnitTest1{(TestMethod公共无效TestMethod1{varmock = mock . create ();Mock.Arrange(() => mock.IntProperty). return (1);断言。AreEqual (1, mock.IntProperty);}}

完成
最后更新: 2022年5月12日07:51 通过管理
一个系统。当在具有代码覆盖率的Visual Studio内执行异步单元测试时抛出InvalidProgramException。单元测试是测试Microsoft.Extensions.Caching.Distributed.IDistributedCache的实现。
完成
最后更新: 2022年3月10日09:29 通过管理
由:
评论: 0
类型: 错误报告
0

考虑以下简单的场景:

公共Class1{私人字符串__arg1;公共Class1字符串__arg1{.arg1 = arg1;}公共类别3方法字符串参数{NotImplementedException ();}}公共类别2{静态Class3 class3Instance;公共静态无效StaticMethod字符串__arg1、字符串最长{Class1 class1Instance =Class1 (__arg1);class3Instance = class1Instance.Method(arg2);}}公共类别3{} [TestClass公共Class2Test{静态Class1 mockClass1 = Mock.Create();mockClass3 = Mock.Create();(TestInitialize公共无效设置{Mock.Arrange(() =>Class1 (“__arg1”) .Returns (mockClass1);Mock.Arrange(() => mockClass1。方法(“最长”) .Returns (mockClass3);} (TestMethod公共无效{Class2。StaticMethod (“__arg1”“最长”);}}

测试通过了,但调试跟踪输出包含警告消息:从另一个测试方法调用一个测试方法可能会导致意外的行为,必须避免。从一个非测试方法中提取通用的模拟逻辑。”甚至没有调用其他测试方法。

完成
最后更新: 2022年3月10日09:28 通过管理
在调试测试代码时尝试使用调试窗口会导致FileNotFoundException:

调用IDebugWindowPlugin时抛出的异常:System. io . filenotfoundexception:无法加载文件或程序集。ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089。系统找不到指定的文件。
文件名称:'System. 'ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
完成
最后更新: 2022年1月19日13:28 通过管理
由: Mihail
评论: 3.
类型: 功能要求
3.

目前,当启用JustMock分析器时,它会在测试执行时提供性能冲击。这种效果是预期的,因为涉及到一个分析器。

我们能做的是找到一种更优化的方法来检测这些方法。

无计划的
最后更新: 2022年1月18日09:35 通过管理
应该添加一篇文档文章,解释如何将JustMock集成到JetBrains Rider中
完成
最后更新: 2021年12月8日08:57 通过管理
创建一个Mock.Assert();或者使用类似的方法来验证为当前测试方法安排的所有模拟对象是否符合设置的期望。
完成
最后更新: 2021年12月1日14:07 通过管理
由: 杰森
评论: 2
类型: 错误报告
0

我已经在JustMock的repo中创建了一个问题,你可以在这里找到它:https://github.com/telerik/JustMockLite/issues/162.以下是该问题的文本…

我目前正在进行一项PR,将JustMock添加到该存储库中现有的性能测试套件中。问题是,一些测试(如OneParameter和Callback)需要很长时间才能完成JustMock。我不确定为什么,但这使得JustMock无法添加到测试套件中。更重要的是,PR不能被接受,因为它需要很长时间才能完成。

Steve (repo的所有者)和我谈到的一件事是,如果传递给SimpleJobAttribute的invocationCount值(存在于MockingBenchmark和MockingBenchmark类中)从100,000减少到1,000,测试就会完成,但这并没有解决为什么这些针对JustMock的测试在重复调用时变慢的根本问题。

在基准测试中,我用JustMock设置东西的方式可能有些地方不正确。直到今天我才开始使用JustMock:)。如果我做对了什么,请告诉我。

无计划的
最后更新: 2021年12月1日14:06 通过管理
由:
评论: 0
类型: 功能要求
1
Coverlet (https://github.com/coverlet-coverage/coverlet)是一个跨平台的。net代码覆盖工具,因此应该考虑将其集成到JustMock当前(以及潜在)支持的所有平台上。
无计划的
最后更新: 2021年12月1日13:59 通过管理

考虑样例类

使用Azure.Messaging.ServiceBus;公共类别2{私人静态ServiceBusSender messageToTopicSender;私人静态字符串topicName;公共静态无效SetRequestTopicClient字符串serviceBusConnectionString,字符串topName{topicName = topName;ServiceBusClient =ServiceBusClient (serviceBusConnectionString);messageToTopicSender = serviceBusClient.CreateSender(topicName);}}

下面的测试

            
(TestClass公共Class1Test{(TestInitialize公共无效设置{Mock.Arrange(() => Class2。SetRequestTopicClient (”“”“) .DoNothing ();} (TestMethod公共无效外种皮{Class2。SetRequestTopicClient (”“”“);}} [TestClass公共Class2Test{静态ServiceBusClient = Mock.Create();messageToTopicSender = Mock.Create();(TestInitialize公共无效设置{Mock.Arrange(() =>ServiceBusClient (“若干”) .Returns (serviceBusClient);Mock.Arrange(() => serviceBusClient。CreateSender (“myTopic”) .Returns (messageToTopicSender);} (TestMethod公共无效{Class2。SetRequestTopicClient (“若干”“myTopic”);}}

按照TestA -> TestB的顺序执行测试会导致TestB失败,但更改顺序或单独运行测试会成功。测试的结果不应该依赖于执行顺序。


          

Baidu
map