My unit testing frameworks consists of TestFixtures, TestMethods and Actions. Action is additional smaller container inside TestMethod, Actions comes from internal Dll writt
Instead of using reflection, why don't you roll out your own method that will log all Action executions.
void ExecuteAction(Action action)
{
//Log TestFixture, TestMethod, Action
//Execute actual action
}
[Test]
void TestMethod1()
{
ExecuteAction(Run(new Sleep { Seconds = 10 } ));
}
ExecuteAction method can be in a base or helper class