问题标签 [justmock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
193 浏览

c# - 如何使用 IGenericRepository 进行模拟

我是 TDD 开发的新手,我刚刚开始使用 Nunit 3.7.1、Newtonsoft.Json 版本=10.0.3、JustMock Lite 版本 2016.2.426.1、C# 和 .NET Framework 4.7 进行一些测试。

我想测试这个类:

通过这个测试:

最后是IGenericRepository

首先,我不确定这是否是测试方法的正确方法LoadFinishedTrzlBatch.ExistsProductionOrder。TDD对我来说一切都是新的,我迷路了。

我对我如何嘲笑IGenericRepository<ProductionOrder>. 这总是正确的,我没有在测试IGenericRepository<ProductionOrder>。也许是因为我没有测试存储库。

我正在学习,我不知道我在做什么。这就是我问这个问题的原因。我想测试ExistsProductionOrder方法。

我该如何测试ExistsProductionOrder方法?

0 投票
1 回答
590 浏览

asp.net - Telrik JustMock 与 VSTS 构建托管代理的集成

我正在使用 Telrik JustMock 在单元测试中进行模拟。在本地它运行良好,但是当我尝试将它与基于 Asp.net 构建模板的 VSTS 构建集成时,它以错误结束。错误的堆栈跟踪如下:

测试\XXX.WebMVC.Tests\UnitTests\ManagerUnitTests.cs:第 36 行

Telerik.JustMock.Core.ProfilerInterceptor.ThrowElevatedMockingException(MemberInfo 成员)2017-08-04T08:24:12.0462606Z 在 Telerik.JustMock.Core.MocksRepository.InterceptStatics(类型类型,IEnumerable 1 mixins, IEnumerable1 补充行为,IEnumerable 1 fallbackBehaviors, Boolean mockStaticConstructor) 2017-08-04T08:24:12.0462606Z at Telerik.JustMock.MockBuilder.InterceptStatics(MocksRepository repository, Type type, Nullable1 行为,布尔 mockStaticConstructor)2017- 08-04T08:24:12.0462606Z 在 Telerik.JustMock.Core.MocksRepository.ConvertExpressionToCallPattern(Expression expr, CallPattern callPattern) 2017-08-04T08:24:12.0462606Z 在 Telerik.JustMock.Core.MocksRepository.Arrange[TMethodMock](Expression expr,Func 1 methodMockFactory) 2017-08-04T08:24:12.0462606Z at Telerik.JustMock.Mock.<>c__DisplayClass1_01.b__0() 2017-08-04T08:24:12.0462606Z 在 Telerik.JustMock.Core.ProfilerInterceptor.GuardInternal[T](Func 1 guardedAction) 2017-08-04T08:24:12.0462606Z at Telerik.JustMock.Mock.Arrange[TResult](Expression1 表达式) 2017-08-04T08:24:12.0462606Z 在

如果有 Telrik JustMock 与 VSTS asp.net 构建模板集成的知识,任何人都可以分享。

我可以在这里找到使用基于 XAML 的构建模板运行 Telrik JustMock 的链接:http: //docs.telerik.com/help/justmock/integration-tfs-2013.html

另外我正在使用 Asp.Net 构建模板的测试运行任务。

0 投票
2 回答
925 浏览

c# - 在 JustMock 中找不到 TestFixtureSetUpAttribute?

我正在使用 C#、.NET Framework 4.7、Nunit 3.8.0 和 JustMock Lite 2017.2.821.1 开发 TDD 测试。

当我这样做时:

我得到以下异常:

这是我第一次用 TDD 做一些事情,JustMock我不知道如何解决这个问题。

我的测试课是:

任何的想法?

更新

我已经删除了该方法SetUpLoadFinishedTrzlBatch并移动了该方法中的所有内容,但ShouldExistsProductionOrder我得到了同样的错误。

我认为问题出在 JustMock 上。

0 投票
0 回答
134 浏览

c# - 如何安排我的模拟的一个属性来设置另一个属性?

所以我试图模拟一个接口,该接口包含我的单元测试最初必须设置的属性,然后由被测对象更改,然后我的断言查看结果。

被测代码如下所示:

我在这样的工厂中嘲笑我的界面:

我的单元测试像这样消耗它:

显然,这是行不通的,因为虽然foo.Bar()尝试改变baz.IntList,但它仍然返回factory.IntList,它没有改变。

我需要的是能够进行安排baz.IntList,以便在设置时将传递给它的值转移factory.IntList。我只看到有关如何使用模拟类中的变量执行此操作以及如何使用方法而不是属性设置器执行此操作的文档。

我觉得我应该可以BazFactory.Create()像这样添加一行,但是下面的代码不起作用。

如何baz.IntList在动作的上下文中表达“传递给的值”?

如果它有所作为,我使用的是精简版的 JustMock。

0 投票
1 回答
277 浏览

c# - 只是模拟,模拟没有按预期工作

我是 Just Mock 的新手,在通过此方法时遇到问题,需要帮助来理解问题。

我有以下要测试的代码

并遵循我为测试而编写的代码

在这里,我期望 opstatus.Status 为真,但每次都为假,这导致它进入

TIA

0 投票
0 回答
377 浏览

c# - JustMock 和 XUnit - 模拟 SQLConnection 时,派生类测试结果被忽略

我正在为派生类测试模拟 SQLConnection,并注意到它似乎使 XUnit(?) 忽略了结果。

重现行为的示例:

环境

  • VS 2017 版 15.3.4
  • xunit 和 xunit.runner.visualstudio 版本。2.3.1
  • JustMock 版本。2017.3.913.1

发现

  • 没有模拟 SQL 连接的测试将运行,但结果似乎被忽略了。如果您将鼠标悬停在测试图标上,它会说它在上次测试运行中没有被执行。将行添加到模拟 SQLConnection 将使其他测试运行。
  • 如果将派生类方法更改为 returnint而不是Task<int>.
  • 有时会抛出以下异常(省略其余跟踪以保持帖子简短):

    /li>

不确定这是否是 JustMock 或 XUnit 的问题。谷歌搜索没有提供太多信息,因此任何见解将不胜感激。

更新 1 - 基于@Nkosi 评论的示例:

发现

  • 切换到 async/await 后,测试现在似乎没有完成运行。断言语句在向它们添加断点时会受到影响,但测试会在跨过断言后继续运行。
  • 将模拟代码添加到另一个测试现在似乎没有什么不同,两个测试都将无限期地运行。
0 投票
1 回答
228 浏览

c# - 使用 JustMock,我如何测试一个方法是否被调用了两次并传入了不同的对象?

我有一段将产品模型插入存储库的逻辑。这段逻辑是将两个具有不同数据的产品模型插入到存储库中,我需要测试这个方法是否只调用了两次,每个产品调用一次。

0 投票
1 回答
286 浏览

c# - JustMock 部分类,模拟私有方法

我想用私有方法模拟一个部分类。但是没有调用排列的方法。取而代之的是普通的。我没有收到任何错误。GetAppleModel 最初所做的与它无关,因为它不应该在我的测试用例中做任何事情。我希望 GetAppleModel 的完整主体什么都不做,只返回任务

测试代码:

AppleTaskWorker 类:


我从 JustMock 开发人员那里找到了一个示例:

例子:

但是还是不能正常工作...

0 投票
1 回答
310 浏览

c# - 单元测试:从嵌套类型引发事件

我有一个接口,它在另一个接口上有一个属性,

我正在尝试测试 Main 类。测试用例之一是验证事件的 Handler 方法。

我尝试了以下代码实现来测试,

我收到以下错误,

测试方法 Samples.MainTest.OnCompleted_ShouldDoSomething 抛出异常:Telerik.JustMock.Core.MockException:无法推断参数中指定了哪个事件。在 Telerik.JustMock.Core.Behaviors.RaiseEventBehavior.RaiseEventImpl(Object instance, EventInfo evt, Object[] args) 在 Telerik.JustMock.Core.ProfilerInterceptor.GuardInternal(Action guardedAction) 在 Samples.MainTest.OnCompleted_ShouldDoSomething()

不知道我做错了什么?

0 投票
1 回答
337 浏览

c# - Mock.Create<>() 需要强名称

我有以下依赖树

  • 我的框架
  • 数据访问
  • 处理器
  • 处理器.测试

每个程序集都引用它上面的所有程序集。所以 Processor.Tests 引用了 Processor、DataAccess 和 MyFramework。除了 ProcessorTests 对处理器的引用之外,所有引用都通过私有 Nuget 服务器。

我需要模拟的 DataAccess 程序集中有一个接口 (IMessageLogger)。该接口中的一种方法具有 MyFramework 中定义的类型的参数。

当我尝试时,Mock.Create<IMessageLogger>()我得到以下异常

System.IO.FileLoadException:无法加载文件或程序集“MyFramework,Version=2017.12.12.1,Culture=neutral,PublicKeyToken=null”或其依赖项之一。需要强命名程序集。(来自 HRESULT 的异常:0x80131044)

我的所有程序集都不是强命名的,但 Telerik.JustMock 是强命名的,但到目前为止它还没有给我任何模拟任何其他接口的麻烦。

任何人都知道我如何能够解决这个问题?