问题标签 [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 投票
3 回答
269 浏览

c# - 对于 UrlHelper,Justmock 中的模拟构造函数调用失败

在justmock中,我们可以通过安排构造函数调用来返回模拟实例而不是实际实例

但是当我尝试使用UrlHelper类而不是模拟类型时,实际类型会被实例化。谁能告诉这是否有任何错误:

UrlModel 类

测试方法 :

0 投票
1 回答
1360 浏览

c# - 为 ASP .NET MVC 创建单元测试的问题

我正在为我的 ASP .NET MVC 控制器类创建一些单元测试,但遇到了一些非常奇怪的错误:

我的控制器代码如下:

我的测试代码如下:

问题 1 - 映射异常:

每次运行测试时,我都会收到以下异常:

测试名称:Delete_Journal 测试全名
:Journals.Web.Tests.Controllers.PublisherControllerTest.Delete_Journal
测试源:\Source\Journals.Web.Tests\Controllers\PublisherControllerTest.cs:第 132 行
测试结果:失败测试持续时间: 0:00:00 ,3822468

结果 StackTrace:在 \Source\Journals.Web\Controllers\PublisherController.cs 中的 Journals.Web.Controllers.PublisherController.Delete(JournalViewModel journal) 处:\Source 中 Journals.Web.Tests.Controllers.PublisherControllerTest.Delete_Journal() 的第 81 行\Journals.Web.Tests\Controllers\PublisherControllerTest.cs:line 156 结果消息:测试方法 Journals.Web.Tests.Controllers.PublisherControllerTest.Delete_Journal 抛出异常:AutoMapper.AutoMapperMappingException:缺少类型映射配置或不支持的映射。

映射类型:JournalViewModel -> Journal Journals.Model.JournalViewModel -> Journals.Model.Journal

目标路径:日记

源值:Journals.Model.JournalViewModel

JournalViewModel类和之间似乎存在映射问题Journal,但是我不知道那在哪里。我将此代码添加到Application_Startin Global.asax.cs

Journal并且从to映射JournalViewModel正在工作。

最后我尝试添加Mapper.CreateMap<JournalViewModel, Journal>();作为Delete方法的第一行,然后一切正常,但我不知道为什么。

问题 2 - HTML 异常

一旦使用上述解决方法运行映射,我就会遇到一个问题,即Statusfrom属性var opStatus = _journalRepository.DeleteJournal(selectedJournal);始终为 false,即使我使用 Mock 覆盖它并使其始终为 true。这会导致抛出不应发生的 HTML 异常。

编辑

我将 Application_Start 更改为:

但我仍然有同样的错误。

编辑 - 问题 2 已解决

原来我忘记将映射添加到我的单元测试类中,所以我做了以下操作:

事实证明,这就是问题的根源。我认为由于在单元测试中从未调用 Global.asax.cs Application_Start(),因此从未创建映射,因此我必须在单元测试初始化​​中自己执行此操作。

0 投票
2 回答
1296 浏览

c# - JustMock:模拟私有方法

我是 JustMock 模拟框架的新手,我正在尝试模拟一个私有方法。我完全知道对私有方法进行单元测试是一种通常不好的做法,但在这种情况下,我别无选择。我一直在查看官方文档(http://www.telerik.com/help/justmock/advanced-usage-mocking-non-public-members-and-types.html),但似乎没有任何效果。

这是我的示例代码:

这是错误日志:

我只是很困惑为什么它不起作用。

0 投票
1 回答
161 浏览

unit-testing - JustMock Lite 模拟 SqlConnection

我正在尝试使用 JustMock Lite 对使用 SqlConnection 调用存储过程的方法进行单元测试。我显然需要模拟数据库调用。我一直在搜索,发现甚至提到这样做都很难找到。我最接近的是以下内容:

http://www.telerik.com/blogs/working-with-mock-behaviors-in-justmock

现在,我已经尝试过了,但看起来这需要 JustMock 上的完整版本(我仍在努力让他们为之努力)。在没有完整版本的情况下无论如何可以测试这种行为?

谢谢

0 投票
1 回答
189 浏览

c# - 在另一个类中使用 JustMock 模拟实体框架类

我正在使用 JustMock 和 Entity Framework 来尝试为服务编写单元测试。在服务中,我有这个方法:

我有一个测试:

如何让服务使用我的模拟上下文?现在它正在尝试连接到数据库,因此出错。

0 投票
0 回答
182 浏览

c# - 如何使用 JustMock Lite 模拟外部依赖项

我正在使用 JustMock 的免费版本来模拟一些外部依赖项,例如GetUserSettingsResponse这是一个密封类。问题是免费版本不允许我们模拟密封类。由于某些原因,我无法使用完整版。以下是我的代码示例:

这是我试图模拟如下的方法:

编辑:我的应用程序是一个 Web 服务,它基本上使用 EWS 托管 API 从交换服务器获取电子邮件帐户详细信息。因此,为了开始通信,我首先进行自动发现以从用户的电子邮件地址中获取 url。所以被测对象是下面的内部调用 GetUserSettingsResponse 方法的方法:

0 投票
1 回答
44 浏览

c# - 如何使用 JustMockLite 排列基类的属性

我正在使用 JustMock 的免费版本来编写单元测试。我有一个继承 system.web.Http.ApiController 类的 CustomApiController 类。所以从system.web.Http.ApiController类中来了一个名为 Request 的属性(它是System.Net.Http.HttpRequestMessage类型的。现在在我编写单元测试的方法中,有类似的东西:

如何安排/模拟 Request 对象以将其返回为 true?

0 投票
1 回答
70 浏览

justmock - JustMock:如何断言方法(行动一个)

我正在使用JustMockNServiceBus

我想断言以下语句执行一次:

所以这就是我正在使用的:

现在我在嘲笑NServiceBus

并断言:

很明显这不会起作用,因为这确实符合实际使用.Publish

我怎么做?

0 投票
0 回答
598 浏览

c# - JustMock 安排不工作

好的,

刚拿到 JustMock 的许可证,它看起来很棒。我在安排我的第一个 MVC 控制器测试时遇到问题。

我的测试方法如下:

DataHelper 类只是为我构建了一些数据结构,例如:

这一切似乎工作正常。调用 Mock.Create,DataHelper 填充两个请求变量,两个 Mock.Arrange 语句都不会出错。

当我调用控制器方法选项时,代码片段:

我期待 JustMock 将 parcel 对象设置为上面创建的模拟对象。这是我应该期待的吗?

我得到的是一个没有数据的实例化对象。

0 投票
1 回答
722 浏览

c# - 在单元测试 C# 中使用 setup 是正确的

我解释得更好,我正在研究如何在 C# 中使用 NUnit 和 justmock 进行单元测试。我正在阅读单元测试的艺术这本书,在这里我被告知,尽可能避免 [SetUp] 为以前的场景配置一试。但是在博客上搜索我,如果在 [SetUp] 中使用这些设置很好,我真的很困惑,我知道如果场景非常大,我的测试方法的安排会增长,我必须 rafactorizar,Entence最好的详细问题是,当使用 [SetUp] 时,或者当要测试的场景非常大并且 Arrange 代码受此影响时是否存在某种类型的模式,helpmee ???

例如:

在这里,我的安排非常广泛,我不想将其删除为私有方法或将其传递给 [SetUp] 没有模式可以以另一种方式解决此问题