问题标签 [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.
unit-testing - 相当于 FakeItEasy 中 JustMock 的 ReturnsCollection()?
使用JustMock,我可以像这样轻松地在 Linq to SQL 中模拟带有列表的 DataContext 表,其中一个 IEnumerable 通过 ReturnsCollection() 代替每个 DataContext 的表,允许我插入假数据:
这将是正在测试的方法:
我正在寻找某种方式来执行相同的魔法,让我可以IEnumerable<T>
代替Table<T>
用于测试 Linq to SQL 的目的,最好是在 FakeItEasy 中。
mocking - 方法内部的 FakeItEasy 模拟错误
我有一个我正在尝试测试的方法,需要测试是否引发错误。如果员工存储库抛出错误,我想确保我得到 EmployeeServiceError 回来。我正在使用 FakeItEasy 模拟框架。
这是 FakeItEasy 代码:
这是我正在测试的方法:
unit-testing - 从 FakeItEasy A.CallTo() 返回不同的对象
对于我的测试,我需要第一次调用存根返回一个对象,下一次调用返回一个不同的对象。我在 record() 块中的其他模拟对象框架中看到了这一点,但我还没有弄清楚如何在 FakeItEasy 中做到这一点。FakeItEasy 是我们商店的强制框架,我正在使用 AutoFixture 来生成假货。
我查看了 NextCall,但看起来我无法指定返回值。
这是我想做的事情的想法:
任何帮助表示赞赏。
c# - 为什么在 MSpec 中对 FakeItEasy 对象的 MustHaveHappened 调用失败?
运行以下测试时,所有断言都失败。无法弄清楚它们为什么会失败,因为实际的实现确实调用了对象。
这是一个已知的错误?因为其他一些测试确实成功了。
以下调用的断言失败:Outlook.Contracts.IOutlookFolderParameters.get_NotificationsFolder() 预计至少会找到一次,但没有对假对象进行调用。
在 FakeItEasy.Core.FakeAsserter.AssertWasCalled(Func
2 callPredicate, String callDescription, Func
2 repeatPredicate, String repeatDescription) 在 FakeItEasy.Configuration.RuleBuilder.MustHaveHappened(Repeated repeatConstraint) 在 UnitTests.When_running_Pst_CleanUp.<.ctor>b__2() 在 When_running_Pst_CleanUp.cs:第 19 行
asp.net-mvc - 无法为简单测试设置 controller.Url 属性
我正在尝试设置 controller.Url 属性,但此测试失败。
我编写了这个测试,因为由于 controller.Url 为空,我无法测试控制器操作。
我正在使用 FakeItEasy 来模拟我的 HttpContextBase 等。有什么想法吗?
mocking - 不调用 FakeItEasy CallsBaseMethod 嵌套的 Fake CallTo
我正在尝试混合 CallsBaseMethod 和 CallTo 并且它没有调用我设置的那个。请参阅下面的代码和我的评论。有没有办法让它工作或使用 FakeItEasy 的不同方法?
注意:我也把这个问题放在了GitHub 这好像和这个问题差不多,但是我不能放在一起。所以当我打电话时
我得到这个异常:{X} 方法抛出异常:System.ArgumentException:类型''的表达式不能用于类型'System.Linq.IQueryable 1[Company]' of method 'System.Linq.IQueryable
1[Company] Where[Company](System.Linq.IQueryable 1[Company], System.Linq.Expressions.Expression
1[ System.Func`2[Company,System.Boolean]])'
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) [.. .]
我究竟做错了什么?
c# - 在同一对象的另一个方法上使用 FakeItEasy 的 A.CallTo()
使用 FakeItEasy,我如何检查我的对象的方法是否在同一个对象上调用了另一个方法?
考试:
班上:
我愿意接受建议。如果我对这一切都错了,请告诉我。
c# - 如何使用 FakeItEasy 断言方法未被调用
我想断言没有发送任何内容,也_dispatcher.Dispatch
就是没有调用。
interface
被伪造/嘲笑:
在测试体中:
当某些东西被发送时,这个测试就通过了。
有任何想法吗?我是否错误地使用了 FakeItEasy?
c# - 在 C# 中使用 FakeItEasy 伪造 INI 配置文件设置
我有一个继承自抽象 Configuration 类的类,然后每个类都实现了 INI 文件、XML、conf 或专有格式的阅读器。我在使用 FakeItEasy 创建要测试的对象时遇到问题。
我正在尝试测试的对象通过依赖注入使用配置对象,因此它可以通过调用 ReadString()、ReadInteger() 等函数来简单地读取配置设置,然后是位置文本(Section、Key for例如,带有 INI)可以以任何格式的配置文件(INI、XML、conf 等)从适当的部分检索。
正在使用的示例代码:
一个简单的测试示例:
这编译得很好,但是当我执行代码时,我得到以下异常:
如果我更改创建假的方式,然后毫无例外地工作,我无法为对同一函数的各种调用获得不同的值。
上述方法不允许我控制函数对 INI 的不同调用的返回。
如何将参数的位置和测试这两种方法结合起来?
根据要求的附加定义: