diff --git a/test/Makefile.am b/test/Makefile.am
index 66e1ae5..26c4c15 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -6,7 +6,8 @@
 check_PROGRAMS += test
 
 test_SOURCES = \
-    TestEpochBase.cpp
+    TestEpochBase.cpp \
+    TestBmcEpoch.cpp
 
 test_LDADD = $(top_builddir)/libtimemanager.la
 
diff --git a/test/TestBmcEpoch.cpp b/test/TestBmcEpoch.cpp
new file mode 100644
index 0000000..67f89bb
--- /dev/null
+++ b/test/TestBmcEpoch.cpp
@@ -0,0 +1,55 @@
+#include <sdbusplus/bus.hpp>
+#include <gtest/gtest.h>
+
+#include "bmc_epoch.hpp"
+#include "config.h"
+
+namespace phosphor
+{
+namespace time
+{
+
+class TestBmcEpoch : public testing::Test
+{
+    public:
+        using Mode = EpochBase::Mode;
+        using Owner = EpochBase::Owner;
+
+        sdbusplus::bus::bus bus;
+        BmcEpoch bmcEpoch;
+
+        TestBmcEpoch()
+            : bus(sdbusplus::bus::new_default()),
+              bmcEpoch(bus, OBJPATH_BMC)
+        {
+            // Empty
+        }
+
+        // Proxies for BmcEpoch's private members and functions
+        Mode getTimeMode()
+        {
+            return bmcEpoch.timeMode;
+        }
+        Owner getTimeOwner()
+        {
+            return bmcEpoch.timeOwner;
+        }
+};
+
+TEST_F(TestBmcEpoch, empty)
+{
+    EXPECT_EQ(Mode::NTP, getTimeMode());
+    EXPECT_EQ(Owner::BMC, getTimeOwner());
+}
+
+TEST_F(TestBmcEpoch, getElapsed)
+{
+    auto t1 = bmcEpoch.elapsed();
+    EXPECT_NE(0, t1);
+    auto t2 = bmcEpoch.elapsed();
+    EXPECT_GE(t2, t1);
+}
+
+
+}
+}
