Извлеченные Интерфейсные соглашения о присвоении имен

Вы можете использовать groups и dependsOnGroups в аннотации TestNG @Test, как описано в предыдущих ответах.

Тем не менее, оба класса должны быть под одним и тем же <test>.

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Suite" verbose="1" >
  <test name="Test" >
    <classes>
       <class name="c1" />
       <class name="c2" />
    </classes>
  </test>
</suite>

Следующее приведет к исключению при запуске набора тестов.

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Suite1" verbose="1" >
  <test name="Test1" >
    <classes>
       <class name="c1" />
    </classes>
  </test>

  <test name="Test2">
    <classes>
      <class name="c2" />
    </classes>
  </test>
</suite>
5
задан Dave Hillier 9 June 2009 в 14:43
поделиться

4 ответа

Я бы изменил имя класса интерфейса.

class ServiceClientInterface {};

Затем поместил конкретные реализации в отдельные пространства имен:

namespace MyService
{
    class Client: public  ServiceClientInterface {};
}

namespace MyServiceTest
{
    class TestClient: public ServiceClientInterface {};
}

Или что-то совершенно другое.
PS. Я использую полные имена. Мне не нравится короткое «я» - это интерфейс. Ваш вкус может отличаться.

6
ответ дан 14 December 2019 в 08:58
поделиться

Обычно я резервирую "Impl" для идиомы pimpl . Я использую полный «Интерфейс» для абстрактных базовых классов. Для конкретных реализаций удалите интерфейс и префикс с указанием специализации:

class ServiceClientInterface {
   // some pure virtual methods
};


class XMLServiceClient {
   // Or whatever "service" it is
};

class TestServiceClient {
   // some well defined
};
1
ответ дан 14 December 2019 в 08:58
поделиться

ServiceClientInterface / ServiceClient или ServiceClient / ServiceClientImpl. Остальные кажутся слишком искусственными.

0
ответ дан 14 December 2019 в 08:58
поделиться

ServiceClientImpl имеет для меня наибольший смысл. Это тот, который наиболее четко сообщает вам то, что вам нужно знать. Что это реализация за ServiceClient.

"Стандартный" и "Базовый" ничего полезного вам не скажут. Есть еще нестандартный ServiceClient? Что именно стандартно в этом? Он соответствует какому-то стандарту ISO или как? И Basic звучит так, как будто есть и "Advanced" версия.

"Concrete" может сработать, мне просто никогда не нравилась эта терминология.

0
ответ дан 14 December 2019 в 08:58
поделиться
Другие вопросы по тегам:

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