Jump to content

Behat/Mink - echo a message to console within a step


Jessica

Recommended Posts

Using behat to run some tests - if I add an echo within a step, or echo in my afterStep() function, I don't get the message until all the steps are done running (so if afterStep() has echo 'test'; at the end I get testtesttestest etc.)

 

I can't find anything on google about this, I see examples where people are doing an echo within their steps, but I can't get it to work.

 

Any ideas?

For a few reasons - one is that one of our steps involves checking an email account to see if the email was recieved. The step automatically waits 30 seconds. However it doesn't output to the screen that it's checking email until after it's passed or failed, so when we are manually running the tests and watching, it sits for 30 seconds with no output. We wanted to add a simple message that says "Waiting for 30 seconds before Checking Email".

Why do you need to physically send the email? Just mock the mailer and ensure it receives what it should. Otherwise your tests are dependant on some outside system that could fail for reasons completely unrelated to your code, which will screw up the CI environment for no reason. There should be other checks in place to spot issues with the network. Plus, as your test suite grows, you don't want 30 seconds waits dotted around, it will take forever to run them all.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.