diff --git a/sensors/tests/test_HwmonTempSensor.cpp b/sensors/tests/test_HwmonTempSensor.cpp
new file mode 100644
index 0000000..a618720
--- /dev/null
+++ b/sensors/tests/test_HwmonTempSensor.cpp
@@ -0,0 +1,51 @@
+#include <HwmonTempSensor.hpp>
+#include <dbus/connection.hpp>
+#include <nlohmann/json.hpp>
+#include <fstream>
+#include "gtest/gtest.h"
+
+TEST(HwmonTempSensor, TestTMP75)
+{
+    boost::asio::io_service io;
+    auto system_bus =
+        std::make_shared<dbus::connection>(io, dbus::bus::session);
+    dbus::DbusObjectServer object_server(system_bus);
+
+    std::vector<thresholds::Threshold> sensor_thresholds;
+    auto t = thresholds::Threshold(thresholds::Level::CRITICAL,
+                                   thresholds::Direction::LOW, 80);
+    sensor_thresholds.emplace_back(t);
+
+    std::ofstream test_file("test0.txt");
+    test_file << "28\n";
+    test_file.close();
+    auto filename = std::string("test0.txt");
+    auto tempsensname = std::string("test sensor");
+    HwmonTempSensor test(filename, object_server, io, tempsensname,
+                         std::move(sensor_thresholds));
+
+    std::remove("test0.txt");
+}
+
+TEST(HwmonTempSensor, TestTMP421)
+{
+    boost::asio::io_service io;
+    auto system_bus =
+        std::make_shared<dbus::connection>(io, dbus::bus::session);
+    dbus::DbusObjectServer object_server(system_bus);
+
+    std::vector<thresholds::Threshold> sensor_thresholds;
+    auto t = thresholds::Threshold(thresholds::Level::WARNING,
+                                   thresholds::Direction::HIGH, 80);
+    sensor_thresholds.emplace_back(t);
+
+    std::ofstream test_file("test1.txt");
+    test_file << "28\n";
+    test_file.close();
+    auto filename = std::string("test1.txt");
+    auto tempsensname = std::string("test sensor");
+    HwmonTempSensor test(filename, object_server, io, tempsensname,
+                         std::move(sensor_thresholds));
+
+    std::remove("test1.txt");
+}
