Вопрос

В Mbunit v2 я сделал это:

public class ConnectionStringFactory
    {
        [Factory]
        public string ConnectionString
        {
            get
            {
                return ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString; 
            }
        }
    }

    [ProviderFactory(typeof(ConnectionStringFactory),typeof(string))]
    public class CustomerTests
    {
        public void GetCustomerTest(string connectionString)
        { 

        }

        public void GetCustomersTest(string connectionString)
        {

        }
    }

Мне пришлось создать один фабричный класс, возвращая мне ConnectionString, который вводится в каждый метод испытаний класса модульного тестирования.

Как это можно сделать с Mbunit v3, где пропадает Freadfactory?

Я много играл с классом завода, но результат - не то, что я хочу.

Я хочу на фабрике строки подключения, используемой всеми тестовыми классами, где строка подключения

автоматически вводится в каждый метод испытаний.

Это было полезно?

Решение

Как насчет этого?

public static class ConnectionStringFactory
{
    public static IEnumerable<string> GetConnectionString()
    {
        yield return "connString";
    }
}

[Factory(typeof(ConnectionStringFactory), "GetConnectionString")]
public class CustomerTests
{
    [Test]
    public void GetCustomerTest(string connectionString)
    {
        Console.WriteLine(connectionString);
    }

    [Test]
    public void GetCustomersTest(string connectionString)
    {
        Console.WriteLine(connectionString);
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top