我正在編寫一個我正在編寫的「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