diff --git a/tests/catch_integration.cpp b/tests/catch_integration.cpp
deleted file mode 100644
index e1b18db..0000000
--- a/tests/catch_integration.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-#define CATCH_CONFIG_MAIN
-#include <catch2/catch.hpp>
-#include <sstream>
-#include <trompeloeil.hpp>
-
-namespace trompeloeil
-  {
-    template <>
-    void reporter<specialized>::send(
-      severity s,
-      const char* file,
-      unsigned long line,
-      const char* msg)
-    {
-      std::ostringstream os;
-      if (line) os << file << ':' << line << '\n';
-      os << msg;
-      auto failure = os.str();
-      if (s == severity::fatal)
-      {
-        FAIL(failure);
-      }
-      else
-      {
-        CAPTURE(failure);
-        CHECK(failure.empty());
-      }
-    }
-  }
diff --git a/tests/cd.cpp b/tests/cd.cpp
index 44d87dd..45e7bec 100644
--- a/tests/cd.cpp
+++ b/tests/cd.cpp
@@ -6,7 +6,7 @@
  *
 */
 
-#include "trompeloeil_catch.h"
+#include "trompeloeil_doctest.h"
 #include "ast_commands.hpp"
 #include "parser.hpp"
 #include "static_schema.hpp"
diff --git a/tests/command_completion.cpp b/tests/command_completion.cpp
index 83ade0a..015b4db 100644
--- a/tests/command_completion.cpp
+++ b/tests/command_completion.cpp
@@ -6,7 +6,7 @@
  *
 */
 
-#include "trompeloeil_catch.h"
+#include "trompeloeil_doctest.h"
 #include "parser.hpp"
 #include "static_schema.hpp"
 
diff --git a/tests/doctest_integration.cpp b/tests/doctest_integration.cpp
new file mode 100644
index 0000000..b333b7d
--- /dev/null
+++ b/tests/doctest_integration.cpp
@@ -0,0 +1,24 @@
+#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+#include <doctest/doctest.h>
+#include <trompeloeil.hpp>
+
+namespace trompeloeil
+{
+  template <>
+  void reporter<specialized>::send(
+    severity s,
+    const char* file,
+    unsigned long line,
+    const char* msg)
+  {
+    auto f = line ? file : "[file/line unavailable]";
+    if (s == severity::fatal)
+    {
+      ADD_FAIL_AT(f, line, msg);
+    }
+    else
+    {
+      ADD_FAIL_CHECK_AT(f, line, msg);
+    }
+  }
+}
diff --git a/tests/enum_completion.cpp b/tests/enum_completion.cpp
index e352c7f..5cb5744 100644
--- a/tests/enum_completion.cpp
+++ b/tests/enum_completion.cpp
@@ -7,7 +7,7 @@
  *
  */
 
-#include "trompeloeil_catch.h"
+#include "trompeloeil_doctest.h"
 #include "ast_commands.hpp"
 #include "parser.hpp"
 #include "static_schema.hpp"
diff --git a/tests/leaf_editing.cpp b/tests/leaf_editing.cpp
index f18af1c..4fdafa0 100644
--- a/tests/leaf_editing.cpp
+++ b/tests/leaf_editing.cpp
@@ -6,7 +6,7 @@
  *
 */
 
-#include "trompeloeil_catch.h"
+#include "trompeloeil_doctest.h"
 #include "ast_commands.hpp"
 #include "parser.hpp"
 #include "static_schema.hpp"
diff --git a/tests/list_manipulation.cpp b/tests/list_manipulation.cpp
index 2cc267d..717ce3a 100644
--- a/tests/list_manipulation.cpp
+++ b/tests/list_manipulation.cpp
@@ -5,7 +5,7 @@
  *
 */
 
-#include "trompeloeil_catch.h"
+#include "trompeloeil_doctest.h"
 #include "parser.hpp"
 #include "static_schema.hpp"
 
diff --git a/tests/ls.cpp b/tests/ls.cpp
index 60e4b43..d56df29 100644
--- a/tests/ls.cpp
+++ b/tests/ls.cpp
@@ -6,7 +6,7 @@
  *
 */
 
-#include "trompeloeil_catch.h"
+#include "trompeloeil_doctest.h"
 #include "ast_commands.hpp"
 #include "parser.hpp"
 #include "static_schema.hpp"
diff --git a/tests/path_completion.cpp b/tests/path_completion.cpp
index e0faf15..462a2e6 100644
--- a/tests/path_completion.cpp
+++ b/tests/path_completion.cpp
@@ -6,7 +6,7 @@
  *
 */
 
-#include "trompeloeil_catch.h"
+#include "trompeloeil_doctest.h"
 #include "ast_commands.hpp"
 #include "parser.hpp"
 #include "static_schema.hpp"
diff --git a/tests/presence_containers.cpp b/tests/presence_containers.cpp
index 91b3e95..e027fb9 100644
--- a/tests/presence_containers.cpp
+++ b/tests/presence_containers.cpp
@@ -7,7 +7,7 @@
  *
 */
 
-#include "trompeloeil_catch.h"
+#include "trompeloeil_doctest.h"
 #include "ast_commands.hpp"
 #include "parser.hpp"
 #include "static_schema.hpp"
diff --git a/tests/sysrepo.cpp b/tests/sysrepo.cpp
index a0e791a..1803890 100644
--- a/tests/sysrepo.cpp
+++ b/tests/sysrepo.cpp
@@ -6,7 +6,7 @@
  *
 */
 
-#include "trompeloeil_catch.h"
+#include "trompeloeil_doctest.h"
 
 #include "sysrepo_access.hpp"
 #include "sysrepo_subscription.hpp"
diff --git a/tests/trompeloeil_catch.h b/tests/trompeloeil_catch.h
deleted file mode 100644
index 3de799b..0000000
--- a/tests/trompeloeil_catch.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#pragma once
-
-#include <catch2/catch.hpp>
-#include <trompeloeil.hpp>
-
-extern template struct trompeloeil::reporter<trompeloeil::specialized>;
-
-void waitForCompletionAndBitMore(const trompeloeil::sequence& seq);
diff --git a/tests/trompeloeil_doctest.h b/tests/trompeloeil_doctest.h
new file mode 100644
index 0000000..8ee4071
--- /dev/null
+++ b/tests/trompeloeil_doctest.h
@@ -0,0 +1,20 @@
+#pragma once
+
+#include <doctest/doctest.h>
+#include <trompeloeil.hpp>
+
+#define SECTION(name) DOCTEST_SUBCASE(name)
+
+// https://github.com/onqtam/doctest/issues/216
+#undef REQUIRE_THROWS
+#undef REQUIRE_THROWS_AS
+#undef REQUIRE_THROWS_WITH
+#undef REQUIRE_NOTHROW
+#define REQUIRE_THROWS(expr) DOCTEST_REQUIRE_THROWS(static_cast<void>(expr))
+#define REQUIRE_THROWS_AS(expr, e) DOCTEST_REQUIRE_THROWS_AS(static_cast<void>(expr), e)
+#define REQUIRE_THROWS_WITH(expr, e) DOCTEST_REQUIRE_THROWS_WITH(static_cast<void>(expr), e)
+#define REQUIRE_NOTHROW(expr) DOCTEST_REQUIRE_NOTHROW(static_cast<void>(expr))
+
+extern template struct trompeloeil::reporter<trompeloeil::specialized>;
+
+void waitForCompletionAndBitMore(const trompeloeil::sequence& seq);
diff --git a/tests/utils.cpp b/tests/utils.cpp
index e24b0d5..a6a982b 100644
--- a/tests/utils.cpp
+++ b/tests/utils.cpp
@@ -6,7 +6,7 @@
  *
 */
 
-#include "trompeloeil_catch.h"
+#include "trompeloeil_doctest.h"
 #include "utils.hpp"
 
 TEST_CASE("utils")
diff --git a/tests/wait-a-bit-longer.cpp b/tests/wait-a-bit-longer.cpp
index 029e36f..8ec4f4b 100644
--- a/tests/wait-a-bit-longer.cpp
+++ b/tests/wait-a-bit-longer.cpp
@@ -1,4 +1,4 @@
-#include <catch2/catch.hpp>
+#include <doctest/doctest.h>
 #include <chrono>
 #include <thread>
 #include <trompeloeil.hpp>
diff --git a/tests/yang.cpp b/tests/yang.cpp
index 5846a23..b4bec48 100644
--- a/tests/yang.cpp
+++ b/tests/yang.cpp
@@ -6,7 +6,7 @@
  *
 */
 
-#include "trompeloeil_catch.h"
+#include "trompeloeil_doctest.h"
 #include "yang_schema.hpp"
 
 const char* second_schema = R"(
