diff --git a/binarystore_mock.hpp b/binarystore_mock.hpp
index 7792e74..eae08fe 100644
--- a/binarystore_mock.hpp
+++ b/binarystore_mock.hpp
@@ -4,14 +4,25 @@
 
 #include <gmock/gmock.h>
 
+using ::testing::Invoke;
+
 namespace binstore
 {
 
 class MockBinaryStore : public BinaryStoreInterface
 {
   public:
+    MockBinaryStore(const std::string& baseBlobId, int fd, uint32_t offset,
+                    uint32_t maxSize) :
+        real_store_(baseBlobId, fd, offset, maxSize)
+    {
+        // Implemented calls in BinaryStore will be directed to the real object.
+        ON_CALL(*this, getBaseBlobId)
+            .WillByDefault(Invoke(&real_store_, &BinaryStore::getBaseBlobId));
+        ON_CALL(*this, getBlobIds)
+            .WillByDefault(Invoke(&real_store_, &BinaryStore::getBlobIds));
+    }
     MOCK_CONST_METHOD0(getBaseBlobId, std::string());
-    MOCK_CONST_METHOD1(canHandleBlob, bool(const std::string&));
     MOCK_CONST_METHOD0(getBlobIds, std::vector<std::string>());
     MOCK_METHOD2(openOrCreateBlob, bool(const std::string&, uint16_t));
     MOCK_METHOD1(deleteBlob, bool(const std::string&));
@@ -20,6 +31,9 @@
     MOCK_METHOD0(commit, bool());
     MOCK_METHOD0(close, bool());
     MOCK_METHOD0(stat, bool());
+
+  private:
+    BinaryStore real_store_;
 };
 
 } // namespace binstore
