问题标签 [fakeiteasy]

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 回答
1645 浏览

unit-testing - 相当于 FakeItEasy 中 JustMock 的 ReturnsCollection()?

使用JustMock,我可以像这样轻松地在 Linq to SQL 中模拟带有列表的 DataContext 表,其中一个 IEnumerable 通过 ReturnsCollection() 代替每个 DataContext 的表,允许我插入假数据:

这将是正在测试的方法:

我正在寻找某种方式来执行相同的魔法,让我可以IEnumerable<T>代替Table<T>用于测试 Linq to SQL 的目的,最好是在 FakeItEasy 中。

0 投票
2 回答
444 浏览

mocking - 方法内部的 FakeItEasy 模拟错误

我有一个我正在尝试测试的方法,需要测试是否引发错误。如果员工存储库抛出错误,我想确保我得到 EmployeeServiceError 回来。我正在使用 FakeItEasy 模拟框架。

这是 FakeItEasy 代码:

这是我正在测试的方法:

0 投票
2 回答
3732 浏览

unit-testing - 从 FakeItEasy A.CallTo() 返回不同的对象

对于我的测试,我需要第一次调用存根返回一个对象,下一次调用返回一个不同的对象。我在 record() 块中的其他模拟对象框架中看到了这一点,但我还没有弄清楚如何在 FakeItEasy 中做到这一点。FakeItEasy 是我们商店的强制框架,我正在使用 AutoFixture 来生成假货。

我查看了 NextCall,但看起来我无法指定返回值。

这是我想做的事情的想法:

任何帮助表示赞赏。

0 投票
1 回答
1811 浏览

c# - 为什么在 MSpec 中对 FakeItEasy 对象的 MustHaveHappened 调用失败?

运行以下测试时,所有断言都失败。无法弄清楚它们为什么会失败,因为实际的实现确实调用了对象。

这是一个已知的错误?因为其他一些测试确实成功了。

以下调用的断言失败:Outlook.Contracts.IOutlookFolderParameters.get_NotificationsFolder() 预计至少会找到一次,但没有对假对象进行调用。

在 FakeItEasy.Core.FakeAsserter.AssertWasCalled(Func 2 callPredicate, String callDescription, Func2 repeatPredicate, String repeatDescription) 在 FakeItEasy.Configuration.RuleBuilder.MustHaveHappened(Repeated repeatConstraint) 在 UnitTests.When_running_Pst_CleanUp.<.ctor>b__2() 在 When_running_Pst_CleanUp.cs:第 19 行

0 投票
1 回答
398 浏览

asp.net-mvc - 无法为简单测试设置 controller.Url 属性

我正在尝试设置 controller.Url 属性,但此测试失败。

我编写了这个测试,因为由于 controller.Url 为空,我无法测试控制器操作。

我正在使用 FakeItEasy 来模拟我的 HttpContextBase 等。有什么想法吗?

0 投票
1 回答
766 浏览

mocking - 不调用 FakeItEasy CallsBaseMethod 嵌套的 Fake CallTo

我正在尝试混合 CallsBaseMethod 和 CallTo 并且它没有调用我设置的那个。请参阅下面的代码和我的评论。有没有办法让它工作或使用 FakeItEasy 的不同方法?

注意:我也把这个问题放在了GitHub 这好像和这个问题差不多,但是我不能放在一起。所以当我打电话时

我得到这个异常:{X} 方法抛出异常:System.ArgumentException:类型''的表达式不能用于类型'System.Linq.IQueryable 1[Company]' of method 'System.Linq.IQueryable1[Company] Where[Company](System.Linq.IQueryable 1[Company], System.Linq.Expressions.Expression1[ System.Func`2[Company,System.Boolean]])'

0 投票
2 回答
8555 浏览

c# - 假装很容易 - A.Ignored() 带字符串 - A.忽略()

我有一个带有字符串参数和布尔返回值的方法。我想确保它总是返回 true

我试过了

现在我得到以下异常

System.ArgumentException:指定的对象未被识别为假对象。结果 StackTrace: bei FakeItEasy.Core.DefaultFakeManagerAccessor.GetFakeManager(Object proxy) bei FakeItEasy.FakeFacade.GetFakeManager(Object fakedObject) bei FakeItEasy.Configuration.FakeConfigurationManager.CallTo(Object fakeObject) bei FakeItEasy.A.CallTo(Object fake) [.. .]

我究竟做错了什么?

0 投票
2 回答
5907 浏览

c# - 在同一对象的另一个方法上使用 FakeItEasy 的 A.CallTo()

使用 FakeItEasy,我如何检查我的对象的方法是否在同一个对象上调用了另一个方法?

考试:

班上:

我愿意接受建议。如果我对这一切都错了,请告诉我。

0 投票
1 回答
3545 浏览

c# - 如何使用 FakeItEasy 断言方法未被调用

我想断言没有发送任何内容,也_dispatcher.Dispatch就是没有调用

interface被伪造/嘲笑:

在测试体中:

某些东西被发送时,这个测试就通过了。

有任何想法吗?我是否错误地使用了 FakeItEasy?

0 投票
1 回答
904 浏览

c# - 在 C# 中使用 FakeItEasy 伪造 INI 配置文件设置

我有一个继承自抽象 Configuration 类的类,然后每个类都实现了 INI 文件、XML、conf 或专有格式的阅读器。我在使用 FakeItEasy 创建要测试的对象时遇到问题。

我正在尝试测试的对象通过依赖注入使用配置对象,因此它可以通过调用 ReadString()、ReadInteger() 等函数来简单地读取配置设置,然后是位置文本(Section、Key for例如,带有 INI)可以以任何格式的配置文件(INI、XML、conf 等)从适当的部分检索。

正在使用的示例代码:

一个简单的测试示例:

这编译得很好,但是当我执行代码时,我得到以下异常:

如果我更改创建假的方式,然后毫无例外地工作,我无法为对同一函数的各种调用获得不同的值。

上述方法不允许我控制函数对 INI 的不同调用的返回。

如何将参数的位置和测试这两种方法结合起来?

根据要求的附加定义: