我花了很多时间试图弄清楚为什么简单的RhinoMocks测试不会返回我在返回时设置的值.我确信我只是错过了一些非常简单的东西,但我无法弄明白.这是我的测试:
[TestMethod]
public void CopyvRAFiles_ShouldCallCopyvRAFiles_ShouldReturnTrue2()
{
FileInfo fi = new FileInfo(@"c:\Myprogram.txt");
FileInfo[] myFileInfo = new FileInfo[2];
myFileInfo[0] = fi;
myFileInfo[1] = fi;
var mockSystemIO = MockRepository.GenerateMock<ISystemIO>();
mockSystemIO.Stub(x => x.GetFilesForCopy("c:")).Return(myFileInfo);
mockSystemIO.Expect(y => y.FileCopyDateCheck(@"c:\Myprogram.txt", @"c:\Myprogram.txt")).Return("Test");
CopyFiles copy = new CopyFiles(mockSystemIO);
List<string> retValue = copy.CopyvRAFiles("c:", "c:", new AdminWindowViewModel(vRASharedData));
mockSystemIO.VerifyAllExpectations();
}
Run Code Online (Sandbox Code Playgroud)
我有一个我的SystemIO类的接口我正在通过模拟传递给我的CopyFiles类.我在我的FileCopyDatCheck方法上设置了一个期望,并说它应该返回("测试").当我单步执行代码时,它返回一个null insteaed.我在这里缺少什么想法?
这是我的CopyFiles类方法:
public List<string> CopyvRAFiles(string currentDirectoryPath, string destPath, AdminWindowViewModel adminWindowViewModel)
{
string fileCopied;
List<string> filesCopied = new List<string>();
try
{
sysIO.CreateDirectoryIfNotExist(destPath);
FileInfo[] files = sysIO.GetFilesForCopy(currentDirectoryPath);
if (files != null)
{
foreach (FileInfo …
Run Code Online (Sandbox Code Playgroud)