Сейчас я занимаюсь разработкой основ тестирования для небольшой компании, и эта проблема:Junit. Несколько поведения тесты без кода дублировать
Услуг могут общаются с Афоризмом по:
- с прямыми запросами (услугой < -> обслуживание).
- Через общие шлюзы (сервис < -> шлюз < -> сервис).
У меня есть некоторые тесты, которые охватывают только первый вариант.
И что я хочу - это как-то обложка второй вариант без копии & вставка кода от первого. Все различия будут только на первых шагах (установление соединения). Я попытался использовать параметризацию, но, кажется, это не то, что мне нужно.
UPD:
пример кода для первого варианта: например
Clients clients = new Clients( configLoader.getProperty("env.servicename.host"), Integer.parseInt(configLoader.getProperty("env.servicename.port")));
код для второго варианта:
Clients clients = new Clients( configLoader.getProperty("env.gateway.host"), Integer.parseInt(configLoader.getProperty("env.gateway.port")), configLoader.getProperty("env.gateway.user"), configLoader.getProperty("env.gateway.password"));
[Burst] (https://github.com/square/burst) предоставляет параметризацию с использованием перечислений. Каждое перечисление может представлять собой различную реализацию интерфейса, который вы определяете, и, следовательно, обеспечивать различное поведение. Будет ли это полезно? Если нет, можете быть более конкретным? – aha