问题标签 [systemwrapper]

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 投票
1 回答
1898 浏览

.net - 如何模拟“输出”参数?

我已经下载了最新的 NSubstitute 版本,1.1.0,2011 年 5 月 21 日。在此版本之前,NSub 似乎不支持 out 参数。似乎已经完成了一些工作以通过中间版本提供支持:NSub Google Group

所以,我在尝试让所有部分都正常工作时遇到了一些麻烦。我正在使用SystemWrapper来模拟 DirectoryInfo

这是我的界面:

...和测试:

有没有办法从 INetworkPath 接口模拟 out 参数?

更新

尝试了以下方法:虽然它可以编译,但DirectoryInfo返回 null:

0 投票
1 回答
6589 浏览

c# - 模拟注册表 - SystemWrapper

我试过按照这个作为模拟注册表的指南:http ://www.rhyous.com/2011/11/04/unit-testing-registry-access-with-rhinomocks-and-systemwrapper/

当我尝试模拟它时,当它尝试进行 OpenSubKey 调用时,我总是在我的类中得到一个空返回“reg”,在我的 _Real() 测试中它工作正常。

测试:

实际班级:

0 投票
1 回答
1140 浏览

ruby - 用于系统调用的 Ruby C 绑定与 Ruby 包装器

Ruby C 绑定的执行与系统调用的 Ruby 包装器之间的主要区别是什么?

对于我的问题,我正在考虑将 Git 版本控制功能大量整合到 Ruby on Rails 应用程序中。在处理这项任务时,我不明白如何考虑 Ruby 程序的执行管道,该程序包含使用 Ruby C 绑定(如yajl-ruby )实现的库与用于系统调用(如git Ruby Gem )的 Ruby 包装器。

0 投票
2 回答
1207 浏览

c# - 模拟 File.OpenWrite()

我正在尝试编写一个单元测试来写入它使用 File.OpenWrite() 打开的文件。

我正在使用 SystemWrapper 的 IFileWrap 接口包装文件。在生产中,我使用 SimpleInjector 来注入 SystemWrapper 的 FileWrap 类的实例,并且工作正常。但是我试图在我的单元测试中使用 MOQ 来模拟 IFileWrap,但这是行不通的。

我是 SystemWrapper 的新手,我正在尽我所能弄清楚它的用途。据我所知,IFileWrap.OpenWrite() 返回一个 IFileWrap 实例,您可以从中获取带有 FileStreamInstance 的流。

因此,在我的测试类中,我在构造函数中注入了一个 IFileWrap:

在我的测试方法中,我从 FileStreamInstance 获取流:

这在生产中工作得很好,其中 fileWrap 是用 FileWrap 的实例实例化的。但在我的测试中,我试图为 File.OpenWrite 创建一个 Mock,它返回一个模拟的 FileStream:

当我在调试器中从我的单元测试中遍历被测方法时,fsWrap.FileStreamInstance 为空,而我希望它是我的模拟文件流。

关于我做错了什么的任何想法?

0 投票
1 回答
1847 浏览

c# - C# SystemWrapper 模拟 File.ReadAllLines

在一种方法中,我通常会这样做:

为了测试,我希望能够模拟出文件系统,并且我听到了关于SystemWrapper的正面评价,所以我想使用这个库。

据我了解,使用 SystemWrapper 需要我进行基于接口的调用。没关系。所以我上面的代码行变成:

现在,我的测试方法如下所示:(我将 Microsoft.VisualStudio.TestTools.UnitTesting 与 Rhino Mock 结合使用)

此示例改编自 SystemWrapper 的入门页面上的示例。

但是,当我这样做时,该方法不是调用我的模拟方法,而是调用File.ReadAllLines,这不是我所期望的。

模拟的正确方法是File.ReadAllLines什么?

0 投票
1 回答
151 浏览

c# - 使用 SystemWrapper 和 Rhino Mocks 进行单元测试

我有备份某些文件的方法:

我正在尝试使用 SystemWrapper 和 Rhino Mocks 对其进行测试:

上面的测试失败了。我究竟做错了什么?

0 投票
1 回答
490 浏览

c# - 使用 Moq 和 SystemWrapper 对 Action c# MVC 进行单元测试

我正在尝试测试一个有 InputStream 的操作,但我真的不知道如何进行。

我正在尝试模拟类,但我注意到我们无法模拟 System.IO,因为我们没有抽象层。

所以,经过一番搜索,我倾向于使用一个包,它添加了一个 IO 系统的抽象层并将其包装起来。是“SystemWrapper”,但我没有成功使用它。

我的目标 是检查 Excel 文件头是否与 Canva 格式相同,如果格式预期为真,否则为假。

有我的代码:

我要测试的功能:

}

测试功能:

我的输入流的类型 在此处输入图像描述 或者,如果你能给我另一种方法来遵循它,你会很棒。

谢谢

0 投票
1 回答
104 浏览

c# - SystemWrapper 和 Castle Windsor 的问题

我一直在尝试使用 SystemWrapper 来模拟文件 IO 和我正在为其编写自己的包装器的其他标准 MS 方法。但是,我发现我正在使用的国际奥委会温莎城堡存在问题。

我正在专门使用实现它的 IDirectoryInfo 和 DirectoryInfoWrap。我已经像任何其他界面一样注册了:

我什至这样做过:

但是当我运行我的应用程序时,我得到了这个:

无法创建组件“SystemWrapper.IO.DirectoryInfoWrap”,因为它需要满足依赖关系。

“SystemWrapper.IO.DirectoryInfoWrap”正在等待以下依赖项: - 未注册的服务“System.IO.DirectoryInfo”。- 未提供参数“路径”。你忘记设置依赖了吗?

这对我来说毫无意义。为什么认为常规 DIrectoryInfo 是需要注册的“服务”?对于傻笑,我尝试使用 DirectoryInfoWrap 注册 DirectoryInfo 但这给了我这个:

System.IO.DirectoryInfo 和 SystemWrapper.IO.DirectoryInfoWrap 类型不相关。这是不允许的。您确定要让它们在同一个组件上同时提供服务吗?参数名称:x

如果有人以前解决过这个问题,请告诉我。如果不能,那么我将继续手工编写包装器。

谢谢