Запросите DNS с помощью определенных серверов DNS в.NET

При реальной необходимости в трудной зависимости между тестом JUnit попробуйте расширение JExample

, JExample представляет отношения производителя-потребителя к поблочному тестированию.
производитель А является методом тестирования, который приводит к его единице под тестом как возвращаемое значение.
потребитель А является методом тестирования, который зависит от одного или нескольких производителей и их возвращаемых значений.

Вы можете установка это в Eclipse для Junit4.4 или 4.5.

import jexample.Depends;

  @Test
  @Depends("#testEmpty") 
  public Stack testPush(Stack $) { 
      $.push(42); 
      assertFalse($.isEmpty()); 
      return $; 
  } 

, Как упомянуто в этой статье IBM "В преследовании качества кода: JUnit 4 по сравнению с TestNG" :

Одна вещь, которой платформа JUnit пытается достигнуть, тестовая изоляция .
На оборотной стороне, это делает очень трудным указать порядок на выполнение тестового сценария, которое важно для любого вида зависимого тестирования.
Разработчики использовали различные методы для обхождения этого, как определение тестовых сценариев в алфавитном порядке или надежда в большой степени на приспособления (@Before @After) для надлежащей установки вещей.

Эти обходные решения хорошо для тестов, которые успешно выполняются, но для тестов, которые перестали работать, у них есть неудобное последствие: каждый последующий зависимый тест также перестал работать. В некоторых ситуациях это может привести к большим наборам тестов, сообщив о ненужных отказах

, Так остерегайтесь: при сохранении какого-либо решения для упорядочивания тестов JUnit путем, Вы хотите..., необходимо думать, если та поддержка решений функция "пропуска", чтобы позволить другим тестам продолжаться, даже если один из них перестал работать.

9
задан Community 23 May 2017 в 11:33
поделиться

3 ответа

Вы также можете взглянуть на opendns.net и проверить, подходит ли он вашему приложению

Вот пример кода для для начала:

        var query = new DnsQuery();

        query.Servers.Add("ns1.domainname.com");
        query.Servers.Add("ns2.domainname.com");
        query.Servers.Add("ns3.domainname.com");

        query.Domain = "domain.com";

        query.QueryType = Types.TXT;

        if (query.Send())
        {
            Console.WriteLine("TXT:");
            var response = query.Response;
            foreach (ResourceRecord answer in response.Answers)
            {
                Console.WriteLine(answer.RText);
            }
        }

        query.QueryType = OpenDNS.Types.MX;

        if (query.Send())
        {
            Console.WriteLine("MX:");
            var response = query.Response;
            foreach (MX answer in response.Answers)
            {
                Console.WriteLine("{0} {1}", answer.Preference, answer.Exchange);
            }
        }
3
ответ дан 4 December 2019 в 22:28
поделиться

Я думаю, что лучший вариант - изучить протокол DNS (что довольно легко) и реализовать его самостоятельно, используя сокеты .net udp.

DNS - действительно простой протокол для понимания и реализовать.

Более того, вы можете использовать исходный код из DnDNS, чтобы увидеть уловки в программе / протоколе

1
ответ дан 4 December 2019 в 22:28
поделиться

Вы можете сделать это с помощью «DNS-клиента JH Software для .NET». См. Второй пример кода на http://www.simpledns.com/dns-client-lib.aspx

1
ответ дан 4 December 2019 в 22:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: