模拟框架中的未来模拟概念 - c#

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center获取指导。

已关闭8年。

我正在研究Telerik的模拟框架JustMock。看起来还不错。对于我们来说,真正有趣的一个特殊功能就是他们所说的“未来模拟”。基本上,您可以在其中模拟要在要测试的方法内创建的实例(我知道错误的代码)。

例如 :

public void foo()
{
    var service = new MyService();
    service.DoSomething();
}

因此,此功能将允许模拟在该foo()方法中使用的MyService实例。

我认为TypeMock具有类似的功能。

我想知道是否还有其他框架允许这样做?最小起订量? NMock? FakeItEasy?他们有这个功能吗?任何其他框架???

参考方案

像您提到的传统框架(Moq,NMock,FakeItEasy)基于松散耦合的生产代码而工作。在方法内部创建依赖关系(而不是通过参数或类构造函数传递依赖关系)使其无法注入伪造品(存根或模拟)的接缝。

JustMock和TypeMock使用探查器API(IIRC)拦截和绕行代码来解决此问题。做到这一点的另一个框架是Miscosoft Moles,在Visual Studio 11中很快将其命名为Fakes。

注意:不过请记住,后面的框架更好
适用于无法使用依赖项注入的紧密耦合的旧代码。测验
这些框架可能会变慢,因为
框架的类似于探查器的性质带来的开销。传统的
如果您可以使用依赖项注入并希望单元测试尽可能快,那么框架更适合。

从JAVA调用方法C#.NET - java

我有一个C#.NET项目中创建的dll,我想从Java程序中调用方法。我想知道是否存在实现此目标的机会,然后遇到了JNA和JNI。我应该使用哪一个?有什么建议么?我只需要在使用C#.NET编写的类中调用方法并处理Java程序的结果即可。 参考方案 这取决于您的应用程序,但是您可以将C#DLL放在服务中,例如WCF并以这种方式将功能公开给Java代码。使用ws…

ddl在服务器中未更新-asp.net - javascript

我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……

在ASP.NET MVC中创建数据库回调的最有效方法 - c#

我有一个ASP.NET MVC网页,该网页基本上通过日期过滤器显示MS SQL数据库中表的行。当新行插入数据库表时,我想用新行列表更新网页视图。实现此目标的最有效方法是什么?基本上,我想从我的JavaScript创建一个到数据库服务器的回调,以用新结果更新UI。假设数据库表中的行数很大。(〜1百万)谢谢,cas 参考方案 如果数据库更新非常频繁,则可以按特定…

如何使用JavaScript访问嵌入式ASP.NET GlobalResources? - javascript

我正在开发一个遗留的ASP.NET项目,该项目正试图缓慢地进行调整,但是如果没有像巧克力手指屋一样塌陷的情况,我将无法进行重大更改。我试图为此找到解决方案,但由于术语的特定混合(“ javascript”,“ embedded”和/或“ resource”只是为我提供了有关如何嵌入.js文件的信息,而失败了)。 。),这可能是一种怪异的处理方式。该项目将Ap…

如何使用ASP.NET ViewState使用JavaScript - c#

我的页面中有UL,它为空。我开始使用JavaScript使用LI填充它。在回发阶段如何在asp.net中使用此新添加的动态数据?那是因为我的提交按钮是asp.net控件。我不想使用JS POST。谢谢 参考方案 我过去通过在隐藏字段中填充要发布的动态数据来完成此类操作,您可以-在回传之前触发JavaScript事件,该事件将数据从UL解析到隐藏字段中要么更新…