我正在编写一个我正在编写的“PluginsService”。我需要使用Assembly,AssemblyName,Directory和File的系统库。目前我正在为每一个创建包装接口,所以我可以在测试中嘲笑它们。然而,这意味着我不得不在服务中注入不少包装。单元测试需要系统库的服务
因此,例如测试,搜索一个文件夹一些插件我这样做
With.Mocks(mockery)
.Expecting(() =>
{
Expect.Call(directory.GetFiles(PLUGINPATH, PLUGINSEARCHPATTERN)).IgnoreArguments().Return(pluginLibraries);
Expect.Call(file.ReadAllBytes(null)).IgnoreArguments().Return(bytes);
Expect.Call(assemblyName.GetAssemblyName("fileName")).IgnoreArguments().Return(name);
Expect.Call(assembly.GetExecutingAssembly()).Return(executingAssembly);
})
.Verify(() => result = service.FindAvailablePlugins());
的方法时,我有2个问题:
- 是否有处理系统图书馆更好的办法TDD项目?
- 是否有4个项目需要注入一个课程?
谢谢我会看看这个 – 2009-04-24 10:02:49