Нельзя издеваться над статическим методом, используя Rhino Mocks.То, что я хотел бы сделать, это изолировать статический метод в методе «защищенный внутренний виртуальный» в классе.Тогда вы можете смоделировать «тестируемый класс» и смоделировать метод «CreateAvatarDirectory».Затем вызовите метод «SaveAvatarToFileSystem» и убедитесь, что код вызвал ваш поддельный метод «CreateAvatarDirectory».
Это очень удобный трюк, позволяющий изолировать методы в тестируемом классе и утверждать, что они были вызваны другими методамив том же классе.Надеюсь, это поможет!
public void SaveAvatarToFileSystem()
{
CreateAvatarDirectory();
_file.SaveAs(FormattedFileName);
}
protected internal virtual void CreateAvatarDirectory()
{
Directory.CreateDirectory(AvatarDirectory);
}