Not sure this is really worth fixing, but in my VS11 Beta, the built-in test runner and the R# tester runner both fail if there are multiple methods marked with TestInitialize:
UTA018:
TestClassNameHere.TestMethodNameHere: Cannot define more than one method with the TestInitialize attribute.
NCrunch runs the multiple methods fine, which it would be easy to argue is the better behavior, but I figured I'd mention it here in case there was a goal to 'act' the same (enforcing the same restrictions) as the underlying test framework.
Simple repro case, FWIW:
Code:
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace MultipleTestInit
{
[TestClass]
public class UnitTest1
{
[TestInitialize]
public void TestInit1()
{}
[TestInitialize]
public void TestInit2()
{ }
[TestMethod]
public void TestMethod1()
{
}
}
}