title: Prefix for testing methods in Unit: "test" vs "should"
body: <p>It is a common practice to prefix the tests method names in JUnit with "test". But in the last few years, some people changed this to the prefix "should".</p>
  
  <p>If I want to test the customer creation in a database, I would normally name the method "testCustomerCreation". However, some people would name "shouldCreateCustomer".</p>
  
  <p>This is a lot of personal taste when I am the only person in the project or when everyone else in the project agrees with me. But when/where this is not the case, some divergences or inconsistent mixes starts to shows up.</p>
  
  <p>I readed somewhere an article of a guy that named his methods like "testShouldCreateCustomer", and for this reason he decided to drop the "test" prefix. But in fact he wasn't prefixing with "test", he was using "testShould" and changed to "should". Obviously, this did not convinced me.</p>
  
  <p>I am personally strongly inclined to stick to "test" prefix because the methods names normally starts with verbs in the infinitive form ("get", "set", "add", "remove", "clear", "send", "receive", "open", "close", "read", "write", "create", "list", "pop", "print", etc, so is "test"). So, prefixing a method name with "should" makes it sound really very strange for me, looks wrong.</p>
  
  <p>So, what is the real good reason to use "should" instead of "test"? What are the great advantages and disadvantages?</p>