diff --git a/tests/src/test_ensure.cpp b/tests/src/test_ensure.cpp
index d252bc3..0e300ad 100644
--- a/tests/src/test_ensure.cpp
+++ b/tests/src/test_ensure.cpp
@@ -8,44 +8,22 @@
 class TestEnsure : public Test
 {
   public:
-    utils::Ensure<std::function<void()>> makeEnsure()
-    {
-        return [this] { ++executed; };
-    }
-
     utils::Ensure<std::function<void()>> sut;
+
     size_t executed = 0u;
 };
 
 TEST_F(TestEnsure, executesCallbackOnceWhenDestroyed)
 {
-    sut = makeEnsure();
+    sut = [this] { ++executed; };
     sut = nullptr;
 
     EXPECT_THAT(executed, Eq(1u));
 }
 
-TEST_F(TestEnsure, executesCallbackOnceWhenMoved)
-{
-    sut = makeEnsure();
-    auto copy = std::move(sut);
-    copy = nullptr;
-
-    EXPECT_THAT(executed, Eq(1u));
-}
-
-TEST_F(TestEnsure, executesCallbackTwiceWhenReplaced)
-{
-    sut = makeEnsure();
-    sut = makeEnsure();
-    sut = nullptr;
-
-    EXPECT_THAT(executed, Eq(2u));
-}
-
 TEST_F(TestEnsure, executesCallbackTwiceWhenNewCallbackAssigned)
 {
-    sut = makeEnsure();
+    sut = [this] { ++executed; };
     sut = [this] { executed += 10; };
     sut = nullptr;
 
diff --git a/tests/src/test_report.cpp b/tests/src/test_report.cpp
index 579c714..d05620b 100644
--- a/tests/src/test_report.cpp
+++ b/tests/src/test_report.cpp
@@ -85,7 +85,8 @@
 
         std::vector<MetricValue> readings{{MetricValue{"a", "b", 17.1, 114},
                                            MetricValue{"aa", "bb", 42.0, 74}}};
-        readings.resize(metricParameters.size());
+
+        ASSERT_THAT(readings.size(), Ge(metricParameters.size()));
 
         for (size_t i = 0; i < metricParameters.size(); ++i)
         {
