Перейти к содержимому

Фотография

Помогите, Data Driven (xml) + Nunit + C#, как правильно подавать данны

Data Driven Nunit C#

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 repon

repon

    Новый участник

  • Members
  • Pip
  • 29 сообщений
  • ФИО:Денис Михайлович
  • Город:Саратов


Отправлено 22 ноября 2016 - 08:57

Есть тесты, типа:

 

        [TestCase("par11", "par21", "par31", "par41", TestName = "12345")]

        [TestCase("par12", "par22", "par32", "par42", TestName = "12345")]
        public void Test12345(string par1, string par2, string par3, string par4){}
 
каким образом можно/удобно/правильно реализовать Data Driven и подавать данные в тесты из файла (xml или json) на c# с использованием Nunit?
 
тестов много. кол-во параметров разное. есть тесты по 1 прогону, есть с массивом данных, как в примере, т.е. тест выполняется с разными данными >1 раза.

  • 0

#2 bonibom

bonibom

    Новый участник

  • Members
  • Pip
  • 4 сообщений

Отправлено 02 декабря 2016 - 17:04

[TestFixture]
public class Testing
{
        [TestCaseSource("Get_IPTN_List")]
        public void IPTN_Test(string product, string url)
        {
             VerifyValues(product, url);
        }
        
        protected IEnumerable<string[]> Get_IPTN_List ()
        {
            var reader = new CsvReader(File.OpenText("путь к csv-файлу"));
            while (reader.Read())
            {
                yield return new string[] { reader.GetField<string>(0), reader.GetField<string>(1) };
            }
        }


}



  • 1

#3 repon

repon

    Новый участник

  • Members
  • Pip
  • 29 сообщений
  • ФИО:Денис Михайлович
  • Город:Саратов


Отправлено 23 декабря 2016 - 07:37

[TestFixture]
public class Testing
{
        [TestCaseSource("Get_IPTN_List")]
        public void IPTN_Test(string product, string url)
        {
             VerifyValues(product, url);
        }
        
        protected IEnumerable<string[]> Get_IPTN_List ()
        {
            var reader = new CsvReader(File.OpenText("путь к csv-файлу"));
            while (reader.Read())
            {
                yield return new string[] { reader.GetField<string>(0), reader.GetField<string>(1) };
            }
        }


}


спасибо, попробую)


  • 0

#4 repon

repon

    Новый участник

  • Members
  • Pip
  • 29 сообщений
  • ФИО:Денис Михайлович
  • Город:Саратов


Отправлено 17 января 2017 - 08:05

[TestFixture]
public class Testing
{
        [TestCaseSource("Get_IPTN_List")]
        public void IPTN_Test(string product, string url)
        {
             VerifyValues(product, url);
        }
        
        protected IEnumerable<string[]> Get_IPTN_List ()
        {
            var reader = new CsvReader(File.OpenText("путь к csv-файлу"));
            while (reader.Read())
            {
                yield return new string[] { reader.GetField<string>(0), reader.GetField<string>(1) };
            }
        }


}


а как можно передать параметр в функцию или из нее как узнать имя вызвавшего метода?

тестов много. не писать же для кажд теста такую ф-ю... и хочется все параметры всех кейсов описать в 1 файле, а потом, в зависимости от имени теста(кейса) вызыватть нужные параметры именно для него


  • 0

#5 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 17 января 2017 - 08:19

через Reflection

 

http://stackoverflow...-current-method


  • 1



Темы с аналогичным тегами Data Driven, Nunit, C#

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных