Конкордион - Первое применение
Начнем программировать с Concordion. Прежде чем вы начнете писать свой первый пример с использованием Concordion, вы должны убедиться, что вы правильно настроили среду Concordion, как описано в Concordion - учебник по настройке среды . Мы также предполагаем, что вы немного знакомы с Eclipse IDE.
Итак, давайте приступим к написанию простого приложения Concordion, которое распечатает следующий приемочный тест -
Example
When Robert logs in the system, a greeting "Hello Robert!" is displayed.Шаг 1 - Создайте проект Java
Первый шаг - создать простой Java-проект с помощью Eclipse IDE. Следуйте вариантуFile → New → Project и, наконец, выберите Java Projectмастер из списка мастеров. Теперь назовите свой проект какConcordion используя окно мастера следующим образом -
 
                Как только ваш проект будет успешно создан, у вас будет следующий контент в вашем Project Explorer -
 
                Шаг 2 - Добавьте необходимые библиотеки
Давайте добавим согласование и его зависимости в наш проект. Для этого щелкните правой кнопкой мыши название вашего проекта.concordion а затем следуйте опциям, доступным в контекстном меню: Build Path → Configure Build Path чтобы отобразить окно пути сборки Java следующим образом -
 
                Теперь используйте Add External JARs кнопка доступна под Libraries Вкладка, чтобы добавить следующий основной JAR из папки Concordion.
- concordion-1.5.1
- hamcrest-core-1.3
- junit-4.12
- ognl-2.6.9
- xom-1.2.5
Шаг 3 - Создание исходных файлов
Теперь давайте создадим реальные исходные файлы под concordionпроект. Во-первых, нам нужно создать пакет под названиемcom.tutorialspoint. Для этого щелкните правой кнопкой мыши наsrc в разделе проводника пакетов и выполните следующие действия: New → Package.
Далее мы создадим Систему .java файл в пакете com.tutorialspoint.
 
                Вот содержание System.java файл -
package com.tutorialspoint;
public class System {
   public String getGreeting(String userName){
      return "Hello " + userName + "!";
   }
}Шаг 4 - Создайте файлы спецификаций
Теперь давайте создадим актуальные файлы спецификаций под concordionпроект. Во-первых, нам нужно создать новую исходную папку с именемspecs. Эта папка будет содержать файлы спецификации, такие как JUnitFixture или средство запуска тестов, и файлы html, которые являются спецификациями. Теперь нам нужно создать пакет под названиемspecs.tutorialspoint. Для этого щелкните правой кнопкой мыши наspec в разделе проводника пакетов и выполните следующие действия: New → Package.
Далее мы создадим System.html и SystemFixture.javaфайлы в пакете specs.tutorialspoint. После этого мы добавимconcordion.css в исходной папке спецификаций.
 
                Вот содержание System.html файл -
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
   <head>
      <link href = "../concordion.css" rel = "stylesheet" type="text/css" />
   </head>
   <body>
      <h1>System Specifications</h1>
      <p>We are building specifications for our online order tracking application.</p>
      <p>Following is the requirement to show greeting to logged in user:</p>
      <div class = "example">      
         <h3>Example</h3>
         <p>When <span concordion:set = "#userName">Robert</span> 
            logs in the system, a greeting "<span concordion:assertEquals = "getGreeting(#userName)">
            Hello Robert!</span>" is displayed.</p>
      </div>
   </body>
</html>Вот содержание SystemFixture.java файл -
package specs.tutorialspoint;
import com.tutorialspoint.System;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
   System system = new System();
	
   public String getGreeting(String userName){
      return system.getGreeting(userName);
   }
}Вот содержание concordion.css файл -
* {
   font-family: Arial;
}
body {
   padding: 32px;  
}
pre {
   padding: 6px 28px 6px 28px;
   background-color: #E8EEF7;
}
pre, pre *, code, code *, kbd {
   font-family: Courier New, Courier;
   font-size: 10pt;
}
h1, h1 * {
   font-size: 24pt;	
}
p, td, th, li, .breadcrumbs {
   font-size: 10pt;
}
p, li {
   line-height: 140%;
}
table {
   border-collapse: collapse;
   empty-cells: show;
   margin: 8px 0px 8px 0px;
}
th, td {
   border: 1px solid black;
   padding: 3px;
}
td {
   background-color: white;
   vertical-align: top;
}
th {
   background-color: #C3D9FF;
}
li {
   margin-top: 6px;
   margin-bottom: 6px; 
}
.example {
   padding: 6px 16px 6px 16px;
   border: 1px solid #D7D7D7;
   margin: 6px 0px 28px 0px;
   background-color: #F7F7F7;
}
.example h3 {
   margin-top: 8px;
   margin-bottom: 8px;
   font-size: 12pt;
}
.special {
  font-style: italic;
}
.idea {
  font-size: 9pt;
  color: #888;
  font-style: italic;	
}
.tight li {
  margin-top: 1px;
  margin-bottom: 1px; 
}
.commentary {
  float: right;
  width: 200px;
  background-color: #ffffd0;
  padding:8px;
  border: 3px solid #eeeeb0;	 
  margin: 10px 0px 10px 10px;	 
}
.commentary, .commentary * {
  font-size: 8pt;
}Следует отметить два важных момента о html-файле спецификации и Test Fixture:
- System.html - это html-файл спецификации, в котором используется пространство имен concordion. 
<html xmlns:concordion="http://www.concordion.org/2007/concordion">- System.html использует команду concordion: set для установки значения временных переменных userName равным Robert. Здесь userName - это параметр, который нужно передать методу getGreeting объекта System fixture. 
When <span concordion:set="#userName">Robert</span> logs in the system- System.html использует команду concordion: assertEquals для проверки вывода функции getGreeting (userName) на Hello, Robert !. 
a greeting "<span concordion:assertEquals="getGreeting(#userName)">
Hello Robert!</span>" is displayed.- SystemFixture - это инструмент тестирования JUnit, аннотированный ConcordionRunner.class. 
@RunWith(ConcordionRunner.class)
public class SystemFixture {}- SystemFixture имеет метод getGreeting, который возвращает пользователю приветствие. 
public String getGreeting(String userName){
   return system.getGreeting(userName);
}Шаг 5 - Запуск программы
Щелкните правой кнопкой мыши область содержимого SystemFixture и выберите Run as > JUnit Test Case. Вы увидите следующий результат с успехом junit.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 1, Failures: 0System.html - это результат тестового запуска Concordion.
 
                Поздравляем, вы успешно создали свой первый приемочный экзамен Concordion. Далее, давайте начнем делать кое-что более интересное в следующих нескольких главах.