等待审核
最后更新: 2023年5月12日17:25 通过让•保罗•

我无法模拟接口包含带有' in '参数的方法。当运行以下代码片段时,结果是一个异常:

信息:
测试方法Example.UnitTests.UnitTest.TestMethod抛出异常:
Telerik.JustMock.Core.MockException:抽象类型Example.UnitTestsInParamExample'不能用于继承。

堆栈跟踪:
MocksRepository。创建(类型类型,MockCreationSettings设置)
< > c__38 ' 1。<创建> b__38_0 ()
ProfilerInterceptor。GuardInternal [T] (Func 1 guardedAction)
testmethod()第23行

名称空间的例子。单元测试{使用Microsoft.VisualStudio.TestTools.UnitTesting;使用Telerik.JustMock;公共接口ParamExample{无效喷火int参数;}公共接口InParamExample{无效喷火int参数;} (TestClass]公共UnitTest{(TestMethod]公共无效TestMethod{varmockedParamExample = Mock.Create();varmockedInParamExample = Mock.Create();}}
完成
最后更新: 2023年5月12日09:34 通过管理
由: 米哈伊尔•
评论: 3.
类型: 错误报告
1

Mock.Create()失败

mockexception:抽象类型“IPool”无法访问继承。在Telerik.JustMock.Core.MocksRepository。创建(类型类型,MockCreationSettings设置)在Telerik.JustMock.Mock.<>c__39 '1.b__39_0() In Telerik.JustMock.Core.ProfilerInterceptor.GuardInternal[T](Func ')1guardedAction)

创建模拟对象时

公共接口IPool{对象GetItem结构体,b类;}

无计划的
最后更新: 2023年5月10日08:22 通过管理
管理
由: 卡门伊万诺夫
评论: 3.
类型: 功能要求
5

         
完成
最后更新: 2023年5月5日06:59 通过管理
在dotTrace 2022.3.2和JustMock 2023之间的集成尝试中首次检测到该问题。R1,但它也适用于dotCover和2022.3之后的所有后续版本。
无计划的
最后更新: 4月25日15:53 通过

JustMock将匿名类型解释为元组。下面的示例演示了这个问题:

公共接口IAnsweringService{(int代码,字符串desc) GetAnswer (字符串问题);} (TestMethod]公共无效AnswerToTheUniverseQuestionTest{varapiMock = Mock.Create();varexpectedAnswer ={code =42, desc =《生命终极问题的答案》};Mock.Arrange(() => apiMock.GetAnswer(Arg.AnyString)).Returns(expectedAnswer);varactualAnswer = apiMock。GetAnswer (“宇宙问题的答案是什么?”);Assert.AreEqual (expectedAnswer。代码,actualAnswer.code);Assert.AreEqual (expectedAnswer.desc actualAnswer.desc);}
测试失败,报错:

Telerik.JustMock.Core.MockException:链接返回值类型'<>f__AnonymousType1 ' 2[System. int32,System. int32]'与安排方法的返回类型'System.ValueTuple '不兼容' 2[System.Int32,System.String]'

无计划的
最后更新: 2023年4月19日09:59 通过
由:
评论: 0
类型: 功能要求
0
DoInteadAPI不能用于需要捕获方法调用参数并提供特定返回值的场景。
无计划的
最后更新: 4月13日2023 08:40 通过

以下代码片段在调试时导致测试执行中的挂起:

模拟。SetupStatic (typeof(时间间隔),行为。CallOriginal StaticConstructor.NonMocked);Mock.Arrange(() => TimeSpan。FromSeconds (15) .Returns (TimeSpan.MinValue);

这个问题可以通过通过JustMock扩展菜单禁用DebugWindow来临时解决。

无计划的
最后更新: 2023年3月15日06:42 通过Quoc锡

你好

我生成了一个语法树,我将使用Formatter.Format()从软件包Microsoft.CodeAnalysis.CSharp.Workspaces 4.4.0和。net 6中格式化它。在使用格式化器的地方存在一个测试,但是当启用JustMock分析器时,会抛出InvalidProgramException。当分析器被禁用时,一切工作正常。它在Windows和Linux上都失败。

异常

信息:
系统。InvalidProgramException:公共语言运行库检测到无效程序。

堆栈跟踪:
ContextIntervalTree”2。男星(TIntrospector&内省)
FormattingContext。函数(AbstractFormatEngine引擎,TokenStream)
AbstractFormatEngine。CreateFormattingContext(TokenStream TokenStream, CancellationToken CancellationToken)
AbstractFormatEngine。格式(CancellationToken CancellationToken)
CSharpSyntaxFormatting。Format(SyntaxNode节点,SyntaxFormattingOptions选项,IEnumerable ' 1 formattingRules, SyntaxToken startToken, SyntaxToken endToken, CancellationToken CancellationToken)
AbstractSyntaxFormatting。GetFormattingResult(SyntaxNode节点,IEnumerable ' 1跨度,SyntaxFormattingOptions选项,IEnumerable ' 1规则,CancellationToken CancellationToken)
格式化程序。GetFormattingResult(SyntaxNode节点,IEnumerable ' 1跨度,Workspace工作空间,OptionSet选项,IEnumerable ' 1规则,CancellationToken)
格式化程序。格式(SyntaxNode节点,IEnumerable ' 1跨度,Workspace工作空间,OptionSet选项,IEnumerable ' 1规则,CancellationToken)
格式化程序。Format(SyntaxNode node, Workspace Workspace, OptionSet options, CancellationToken CancellationToken)
UnitTest1.Test1()第23行

繁殖

你可以通过编写一个单元测试(我使用xUnit)来重现这一点:

事实]公共无效Test1(){varclassText =@“使用系统;名称空间TestNameSpace。订单{公共类订单{公共Guid Id {get;设置;}}}”varsyntaxTree = CSharpSyntaxTree.ParseText(classText);var工作区=AdhocWorkspace ();varformattedClassText = Formatter.Format(syntaxTree.GetRoot(), workspace).ToFullString();var预期=@“使用系统;名称空间TestNameSpace。订单{公共类订单{公共Guid Id {get;设置;}}}”;断言。平等(预期,formattedClassText);}}

系统信息

JustMock

见附件。我们不使用免费版。

net

dotnet——信息
. net SDK:
版本:7.0.200
提交:534117727 b

运行环境:
操作系统名称:Windows
操作系统版本:10.0.19045
操作系统平台:Windows
消除:win10-x64
基本路径:C:\Program Files\dotnet\sdk\7.0.200\

主持人:
版本:7.0.3
架构:x64
提交:0 a2bda10e8

.NET sdk安装:
6.0.406 [C:\Program Files\dotnet\sdk]
7.0.200 [C:\Program Files\dotnet\sdk]

.NET运行时安装:
Microsoft.AspNetCore.App 6.0.14 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.14 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.14 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 7.0.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

发现的其他架构:
x86 [C:\Program Files (x86)\dotnet]
已注册于[HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

环境变量:
没有设置

全球。json文件:
没有找到

了解更多:
https://aka.ms/dotnet/info

下载。net:
https://aka.ms/dotnet/download

我已经发布了一个问题,但不能再删除了: 在JustMock | Telerik论坛中格式化SyntaxNodes时抛出InvalidProgramException
完成
最后更新: 2023年3月14日13:08 通过亚当
由: jh-bkraemer
评论: 1
类型: 错误报告
0

使用带有长路径名的测试容器(超过260个字符)的提升模拟模式(启用了分析器)会导致以下命令:

dotnet测试

因错误而失败:

Testhost process exit with error:致命错误。系统。AccessViolationException:试图读写受保护的内存。这通常表明其他内存已损坏。在microsoft . visualstudio . testplatform . testthost . program . main (System.String[])。请查看诊断日志以获取更多信息。测试运行中止。

在开发中
最后更新: 2023年2月14日10:04 通过管理
由: 托马
评论: 11
类型: 功能要求
2

我们正在使用Rider IDE和MacOS开发。net 5万博体育手机版网址/core服务。

请:

1.添加支持在MacOS下运行JustMock(需要支持分析器,启用问题等),或者如果已经支持,请提供如何在每次测试中激活它的说明,例如使用NUnit。

2.添加与Rider的集成,这样所有的过程都会容易得多。

无计划的
最后更新: 2023年1月25日10:55 通过

考虑以下简单的测试场景:

公共摘要TestBase{公共静态TestContext TestContext {得到;}} [TestClass]公共UnitTest1TestBase{(ClassInitialize]公共静态无效ClassInitlialize和TestContext ctx{TestContext = ctx;} (TestMethod]公共无效TestMethod1{}} [TestClass]公共UnitTest2TestBase{(ClassInitialize]公共静态无效ClassInitlialize和TestContext ctx{TestContext = ctx;} (TestMethod]公共无效TestMethod1{}}

尝试在启用JustMock分析器的情况下运行上述测试,会出现System.InvalidProgramException异常。这个问题不能在MSTest中重现。TestFramework和MSTest。3.0.x之前的TestAdapter包。

无计划的
最后更新: 2023年1月11日11:08 通过

下面的例子演示了这个问题:

理论] [MemberData (nameof (GetMemberDataContext))]公共无效ValidParameters_Successintparam1,intparam2{/ /安排模拟。SetupStatic (typeof(MyClass)的行为。严格,StaticConstructor.Mocked);Mock.Arrange(() => MyClass.method1()). return (真正的);/ /行为IService服务=服务();保龄球Result = service.method2();/ /维护Assert.True(结果);Mock.Assert(() => MyClass.method1(), Occurs.Once());// <——此处测试失败,因为它报告方法调用发生了两次}

如果按照以下方式修改代码,则无法观察到问题,这表明行为不一致:

            
理论] [MemberData (nameof (GetMemberDataContext))]公共无效ValidParameters_Successintparam1,intparam2{/ /安排模拟。SetupStatic (typeof(MyClass)的行为。严格,StaticConstructor.Mocked);Mock.Arrange(() => MyClass.method1()). return (真正的) .OccursOnce ();/ /行为IService服务=服务();保龄球Result = service.method2();/ /维护Assert.True(结果);Mock.Assert < MyClass > ();}

          

无计划的
最后更新: 03 Jan 2023 16:56 通过管理
由: Mihail
评论: 2
类型: 功能要求
1
考虑这样一个场景:一个类有一个字符串字段,它是类的主要数据。该类定义了对string的隐式强制转换操作符。当执行该强制转换操作符时,结果字符串将包含来自类字段的值。

实现对所描述的操作符的模拟支持。
在开发中
最后更新: 2022年12月8日10:27 通过管理
扩展从Visual Studio快速操作菜单创建模拟场景的功能
完成
最后更新: 2022年12月8日10:14 通过管理
由: Mihail
评论: 1
类型: 功能要求
0
几年前,我们承诺尽快在Telerik JustMock中引入对所有新技术趋势的支持。在此承诺之后,我们将引入对。net 7官方版本的支持。
完成
最后更新: 2022年12月8日10:07 通过管理

Telerik.JustMock.Console.exe的旧版本版本为1.0.0.4,而R3 2022版本的版本为1.0.0.3。


在开发中
最后更新: 2022年12月8日09:56 通过管理
由:
评论: 0
类型: 错误报告
1

使用EntityFramework对一个简单类运行的单元测试永远不会完成,下面是代码:

公共DbContext1DbContext{公共DbContext1字符串connectionString{}}

公共程序{私人静态只读的SemaphoreSlim _lock =SemaphoreSlim (11);公共异步任务运行{等待_lock.WaitAsync ();试一试{等待InsertDbRow ();}最后{_lock.Release ();}}私人静态异步任务InsertDbRow{等待RetryWrapperAsync (异步() => {使用DbContext1 dbContext =DbContext1 (“con str”);等待dbContext.SaveChangesAsync ();});}公共静态异步任务RetryWrapperAsyncFunc <任务>操作{int我=0;我<3.;我+ +){试一试{等待操作();打破;} catch(异常){等待的任务。延迟(One hundred.);}};}}

TestClass]公共ProgramTest{私人只读的DbContext1 mockContext1 = Mock.Create();[TestInitialize]公共无效设置{Mock.Arrange(() =>DbContext1 (“con str”) .Returns (mockContext1);} (TestMethod]公共异步任务TestMethod{/ /安排程序程序=项目();/ /行为等待program.Run ();// <——此时测试挂起}}

添加什么都不做的安排模拟上下文。SaveChanges修复挂起,但期望mock将在默认情况下处理这种情况,不需要显式安排。

在开发中
最后更新: 2022年12月7日11:55 通过管理
代码覆盖包装器数据收集器严格遵循安装目录结构,这使得无需安装的使用非常困难(使用JustMock)。商业NuGet包为例)。添加一些配置设置将解决此问题。
完成
最后更新: 2022年12月7日11:53 通过管理

在被测试的项目中引用nuget Microsoft.ApplicationInsights.AspNetCore V2.20.0会导致VS 2019代码覆盖率无法生成报告。以下是复制的步骤:

1.从模板ASP创建一个项目。针对。NET 5的。NET Core Web API

2.添加对nuget包microsoft . applicationsights . aspnetcore V2.20.0的引用

3.从c# JustMock测试项目中创建一个单元测试项目。. NET Core)模板。

4.运行VS代码覆盖。

预期结果:生成代码覆盖率报告。

实际结果:没有代码覆盖率报告

无计划的
最后更新: 2022年11月10日09:40 通过
由于编译器(CS8175)或运行时(CS8175)的原因,无法对这些方法进行模拟。InvalidProgramException:不能创建盒装byref样值)错误。
1 2 3. 4 5 6
Baidu
map