If you are using #gdunit4 and struggle asserting signals - make sure to use the exact same amount of variables when asserting. Otherwise the assert will always timeout.

class emitter:
signal test(a,b)

e = monitor_signals(emitter.new())

# exact values
e.test.emit(1,2)
assert_signal(e).is_emitted(e.test,1,2)

# any values
e.test.emit(1,2)
assert_signal(e).is_emitted(e.test,any(),any())

# timeout
e.test.emit(1,2)
assert_signal(e).is_emitted(e.test)

#godot #gdscript

#gdunit4 already paying dividends in #Escoria !

#godot #godotengine

Unit testing support in #JetBrainsRider for a #godotengine game is slick. Rather than fiddling with magic numbers, you can write tests using #GDUnit4 and get a better feedback loop.

You only need the #NuGet package, too, so you don't have to add the add-on to the game.