问题标签 [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.
c# - 如何使用 FakeItEasy 断言事件已被订阅?
我有一个包含事件的假类。我的代码应该订阅该事件,我想测试它。我正在将 FakeItEasy 与 NUnit 一起使用,并且我正在寻找一种方法来检查我的代码是否确实订阅了该事件。
谢谢!
mocking - 你如何存根调用来获取属性?
考虑以下界面...
我试图在fakeiteasyget
中删除对这个属性的函数的调用。
被测系统的 Foo() 方法只返回 MyProperty get 属性调用的值。不幸的是,这个测试总是失败。调试时,该get
属性似乎总是返回 false。
如何存根get
属性调用的返回值?
编辑- 添加 MySUT 类的代码(根据评论中的要求)
c# - 在 FakeItEasy 中使用预先存在的值存根参数
这有点奇怪。我试图存根一个有参数的方法,我不关心参数是什么,所以我忽略了参数。它看起来像这样:
当像这样调用存根方法时,这没有任何问题:
target
但是,它在预初始化时不起作用。例如:
当我检查Tag
假货时,我可以看到输出参数正在被记录,<NULL>
所以我怀疑当输出目标已经设置为某个值时它们不匹配。我已经尝试ignored
在我的测试中设置为new List<Foo>()
并且也尝试过A<List<Foo>>.Ignored
,但都没有对结果产生任何影响。
所以我的问题是,如果 out 参数目标已经有一个值,是否有人知道如何存根带有 out 参数的方法?
c#-4.0 - FakeItEasy 的第一步和 Action 类型的问题
我有以下(这里是简化的)代码,我想用FakeItEasy进行测试。
我想测试是否ServiceException
被抛出,所以我像这样设置我的测试
使用以下代码
我收到以下消息
当前代理生成器无法拦截指定方法,原因如下: - 无法拦截密封方法。
如果我直接在服务上调用该方法,例如
我收到这条消息
这是一个 DynamicProxy2 错误:拦截器试图为没有目标的方法“Void TransactionalExecutionOf(System.Action)”“继续”。当调用没有目标的方法时,没有“继续”的实现,拦截器有责任模仿实现(设置返回值、输出参数等)
现在我有点迷茫,不知道下一步该怎么做。
asp.net-mvc - is it possible to mock/fake an extension method?
I'm using a controller extension, and I tried to mock it using FakeItEasy (v 1.7.4) like this:
but I get this error:
unit-testing - 如果在该方法中引发异常时该方法记录错误,则使用 fake 进行测试
enter code here
我有一个方法可以在该方法中引发异常时记录错误。该方法在单例中是非静态的。
下面的单元测试代码抛出 NullreferenceException:
解决方案:我必须让我的非伪造方法抛出异常,这就是我所做的。
c#-4.0 - 指定的对象未被识别为假对象。问题
我遇到了一个问题,即在一个极其简单的测试中调用 FakeItEasy 失败并出现错误“指定的对象未被识别为假对象”。调用很简单:
伪造同样简单(A.Fake()),并使用一种方法伪造一个接口,该方法接受一个列表并返回一个列表。在调试模式下,我看到 myService 的实例属于 {Fake IMyInterface} 类型。无论如何,这个问题真的让我很困惑,在此先感谢您的帮助。
更新:
这是我自己的错误,我需要打电话说:
asp.net - 如何使用 FakeItEasy 伪造 System.Security.Principal.IIdentity?
在我的应用程序中,用户通过 WIF 登录。用户的凭据存储在System.Security.Principal.IIdentity
. 现在我想测试CreateUser()
方法。我必须以某种方式伪造那个对象。我尝试做这样的事情: -extract 方法返回该对象:
然后在测试文件中做这样的事情:
但它不起作用。任何想法如何以最好的方式做到这一点?
generics - 如何使用 FakeItEasy 伪造通用方法调用?
我在伪造一个IDbConnection
并且我想伪造对QueryOne<T>()
(Dapper
分机)的呼叫,但是这样做时我得到了一个NullReferenceException
。
这是我的代码:
是否可以模拟通用方法调用,FakeItEasy
或者为什么我会收到异常?
提前致谢...
基督教
c# - 如何使用 xUnit、SubSpec 和 FakeItEasy 测试抛出的异常
我正在使用 xUnit、SubSpec 和 FakeItEasy 进行单元测试。到目前为止,我已经创建了一些积极的单元测试,如下所示:
但是现在我想写一些负面的单元测试并检查某些方法没有被调用,并且抛出异常
例如
我可以看到 FakeItEasy 有一个 MustNotHaveHappened 扩展方法,而 xUnit 有一个 Assert.Throws 方法。
但是我怎么把它们放在一起呢?
我要测试的异常应该在调用 Save 方法时发生。所以我猜我应该在 presenter.Save() 方法调用周围包装一个 Assert.Throws 方法,但我认为应该在 .Do(() => ...
您能否告知我的单元测试是否应该如下所示或其他内容?
非常感谢