I was reading articles about best practices of test automation and I found something interesting. An author of Top 15 UI Test Automation Best Practices You Should Follow, Yuri Bushnev, wrote:
This is an example of a bad test name:
@Test public void
flightSearchTest() {.....}
It is bad because it doesn’t tell any details about the test scenario. This is an example of a well named test:
@Test public void
userShouldBeAbleToFindFlightsFromBostonToNewYork() {.....}
This test name is much better because in the case of a failed test, you immediately understand which functionality failed and you don’t need to go inside the test and verify which it actually does. It’s just a matter of taste, but many engineers prefer to use the “_” separation approach instead of the CamelCase:
@Test public void
user_should_be_able_to_find_flights_from_Boston_to_New_York() {.....}
But again, this is just a matter of taste.
I'm not experienced in test automation but it's the first time when I see that someone is using this kind of name convention. I'd like to ask for your opinion and your experience, best practices in this area