Executar testes NUnit do WebDriver em vários drivers

Recentemente, começamos a usar o WebDriver (em favor do Selenium 1) para realizar testes de navegador, usando o framework NUnit. Como queremos executar os testes em vários navegadores, definimos drivers para cada um e os colocamos em uma lista durante a configuração do equipamento:

[TestFixtureSetUp]
public void SetupTest()
{
    // Load drivers
    Drivers = new List<IWebDriver>
            {
                new ChromeDriver(),
                ...
            };

Em todos os testes, fazemos uma iteração na lista como esta:

[Test]
public void SomeTest()
{
    foreach (var driver in Drivers)
    {
        driver.Navigate().GoToUrl("...");
...

Parece errado fazer isso em todos os métodos de teste. Os métodos de teste não devem se preocupar com qual driver eles devem trabalhar. Idealmente, teríamos algo assim:

public void SomeTest(IWebDriver driver)
{
    driver.Navigate().GoToUrl("...");
...

Uma maneira de resolver isso é usando TestCases:

[TestCase(new ChromeDriver())]
[TestCase(new FireFoxDriver())]
...

Mas isso é muita duplicação e transfere o problema da inicialização correta dos drivers para os atributos de cada um dos testes. Não é realmente um ganho.

Existe alguma maneira de o framework NUnit ser capaz de executar todo o conjunto de testes e injetar um parâmetro diferente para os testes individuais em cada execução? Ou existe alguma outra boa solução para isso?

questionAnswers(3)

yourAnswerToTheQuestion