diff --git a/tests/src/test_sensor.cpp b/tests/src/test_sensor.cpp
index c650831..cbd6233 100644
--- a/tests/src/test_sensor.cpp
+++ b/tests/src/test_sensor.cpp
@@ -62,7 +62,7 @@
 TEST_F(TestSensor, notifiesWithValueAfterRegister)
 {
     EXPECT_CALL(*listenerMock, sensorUpdated(Ref(*sut), Ge(timestamp), 42.7))
-        .WillOnce(Invoke(DbusEnvironment::setPromise("async_read")));
+        .WillOnce(InvokeWithoutArgs(DbusEnvironment::setPromise("async_read")));
 
     registerForUpdates(listenerMock);
 
@@ -72,9 +72,10 @@
 TEST_F(TestSensor, notifiesOnceWithValueAfterRegister)
 {
     EXPECT_CALL(*listenerMock, sensorUpdated(Ref(*sut), Ge(timestamp), 42.7))
-        .WillOnce(Invoke(DbusEnvironment::setPromise("async_read")));
+        .WillOnce(InvokeWithoutArgs(DbusEnvironment::setPromise("async_read")));
     EXPECT_CALL(*listenerMock2, sensorUpdated(Ref(*sut), Ge(timestamp), 42.7))
-        .WillOnce(Invoke(DbusEnvironment::setPromise("async_read2")));
+        .WillOnce(
+            InvokeWithoutArgs(DbusEnvironment::setPromise("async_read2")));
 
     DbusEnvironment::synchronizedPost([this] {
         sut->registerForUpdates(listenerMock);
@@ -91,7 +92,8 @@
     void SetUp() override
     {
         EXPECT_CALL(*listenerMock, sensorUpdated(Ref(*sut), Ge(timestamp), 0.))
-            .WillOnce(Invoke(DbusEnvironment::setPromise("async_read")));
+            .WillOnce(
+                InvokeWithoutArgs(DbusEnvironment::setPromise("async_read")));
 
         registerForUpdates(listenerMock);
 
@@ -105,7 +107,7 @@
 TEST_F(TestSensorNotification, notifiesListenerWithValueWhenChangeOccurs)
 {
     EXPECT_CALL(*listenerMock, sensorUpdated(Ref(*sut), Ge(timestamp), 42.7))
-        .WillOnce(Invoke(DbusEnvironment::setPromise("notify")));
+        .WillOnce(InvokeWithoutArgs(DbusEnvironment::setPromise("notify")));
 
     sensorObject.setValue(42.7);
 
@@ -120,7 +122,7 @@
         .InSequence(seq);
     EXPECT_CALL(*listenerMock, sensorUpdated(Ref(*sut), Ge(timestamp)))
         .InSequence(seq)
-        .WillOnce(Invoke(DbusEnvironment::setPromise("notify")));
+        .WillOnce(InvokeWithoutArgs(DbusEnvironment::setPromise("notify")));
 
     sensorObject.setValue(42.7);
     sensorObject.setValue(42.7);
@@ -135,7 +137,7 @@
         .InSequence(seq);
     EXPECT_CALL(*listenerMock2, sensorUpdated(Ref(*sut), Ge(timestamp), 42.7))
         .InSequence(seq)
-        .WillOnce(Invoke(DbusEnvironment::setPromise("notify")));
+        .WillOnce(InvokeWithoutArgs(DbusEnvironment::setPromise("notify")));
 
     registerForUpdates(listenerMock2);
     listenerMock = nullptr;
