I did have this error in my tests and it is a little hard to remember why. It was something like I was calling a step from another step definition which may have been in a different class.
I fixed the issue by removing all calls from one step to another and calling the actual method instead.
So instead of something like:
[Given(@"(.*) is logged in")]
public void GivenIsLoggedIn(string name)
{
Given(string.Format("the user {0} exists", name));
Given(string.Format("I log in as {0}", name));
}
I replaced with:
[Given(@"(.*) is logged in")]
public void GivenIsLoggedIn(string name)
{
UserExists(name)
LogIn(name);
}
However the error you have maybe caused by other odd things.
To locate my issue, I put log messages in many places.
Then I examined the results to see which message was not logged and then I added even more log messages to narrow the issue down to 1 line of code.
I think this is your best strategy.
Goodluck,
Adrian.