diff --git a/src/Makefile.am b/src/Makefile.am
index 26c82a7..c23c6ee 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -19,4 +19,5 @@
 nobase_include_HEADERS += ipmiblob/internal/sys.hpp
 libipmiblob_la_SOURCES += ipmiblob/internal/sys.cpp
 
+nobase_include_HEADERS += ipmiblob/test/blob_interface_mock.hpp
 nobase_include_HEADERS += ipmiblob/test/ipmi_interface_mock.hpp
diff --git a/src/ipmiblob/test/blob_interface_mock.hpp b/src/ipmiblob/test/blob_interface_mock.hpp
new file mode 100644
index 0000000..845d7c1
--- /dev/null
+++ b/src/ipmiblob/test/blob_interface_mock.hpp
@@ -0,0 +1,27 @@
+#include "blob_interface.hpp"
+
+#include <gmock/gmock.h>
+
+namespace host_tool
+{
+
+class BlobInterfaceMock : public BlobInterface
+{
+  public:
+    virtual ~BlobInterfaceMock() = default;
+    MOCK_METHOD3(writeMeta, void(std::uint16_t, std::uint32_t,
+                                 const std::vector<std::uint8_t>&));
+    MOCK_METHOD3(writeBytes, void(std::uint16_t, std::uint32_t,
+                                  const std::vector<std::uint8_t>&));
+    MOCK_METHOD0(getBlobList, std::vector<std::string>());
+    MOCK_METHOD1(getStat, StatResponse(const std::string&));
+    MOCK_METHOD2(openBlob,
+                 std::uint16_t(const std::string&,
+                               blobs::FirmwareBlobHandler::UpdateFlags));
+    MOCK_METHOD1(closeBlob, void(std::uint16_t));
+    MOCK_METHOD3(readBytes,
+                 std::vector<std::uint8_t>(std::uint16_t, std::uint32_t,
+                                           std::uint32_t));
+};
+
+} // namespace host_tool
