It is generally accepted that reusability is not something that you should strive for in your tests. However, I have found that reusing tests is an interesting way to save time when you are testing a full process. Take for instance this piece of code:
public void SuccessfullySavingTemplateWillShowConfirmation()
AssertTextPresent("Template saved successfully", "Should have gotten a confirmation message");
public void CannotAddTemplateWithDuplicateName()
//Create a template called "Template1"
AssertTextPresent("There is already a template called 'Template1', please choose another name.",
"Should warn when trying to create template with duplicate name");
Some of the methods are utility methods, but on the second test, the first line of code actually calls to another tests to do the initialization of the test. I can see this kind of stacking useful in cases where I would usually want to have orderred tests.