konkordeon

konkordeon
Oryginalni autorzy Davida Petersona
Deweloperzy Nigela Charmana i in.
Wersja stabilna
3.0.1 / 4 lipca 2020 r . ; 2 lata temu ( 2020-07-04 )
Magazyn
Napisane w Java , .NET
System operacyjny Międzyplatformowe
Typ Specyfikacja za pomocą przykładowego narzędzia
Licencja Licencja Apache 2.0
Strona internetowa konkordeon.org _ Edit this at Wikidata

Concordion to specyfikacja oparta na przykładach , pierwotnie opracowana przez Davida Petersona, a obecnie utrzymywana przez zespół współpracowników, kierowany przez Nigela Charmana.

Zainspirowany Fit Framework , David stwierdza, że ​​Concordion miał następujące cele:

  • Poprawiona czytelność dokumentów
  • Bardziej „opiniowane” (odradza się pisanie skryptów)
  • Łatwiejszy w użyciu

Jak to działa

Specyfikacje Concordion są zapisywane w Markdown, HTML lub Excel, a następnie odpowiednio oprzyrządowane specjalnymi łączami, atrybutami lub komentarzami. Po uruchomieniu odpowiedniej klasy przyrządu testowego Concordion interpretuje oprzyrządowanie w celu wykonania testu. Zamiast zmuszać właścicieli produktów do określania wymagań w specjalnie ustrukturyzowanym języku, Concordion umożliwia pisanie ich normalnym językiem przy użyciu akapitów, tabel i odpowiedniej interpunkcji. Dzięki temu specyfikacje są o wiele bardziej naturalne do czytania i pisania oraz pomagają wszystkim zrozumieć i uzgodnić, co funkcja ma robić.

Pliki Markdown, HTML lub Excel są zwykle przechowywane z kodem źródłowym, co ma tę zaletę, że mogą znajdować się w tym samym systemie kontroli wersji, co reszta kodu, zapewniając rozgałęzienie i połączenie specyfikacji i testów wraz z głównym kodem źródłowym .

Concordion zawiera elastyczny mechanizm rozszerzający o dodawanie funkcjonalności, na przykład wdrażanie nowych poleceń, nasłuchiwanie zdarzeń lub modyfikowanie dokumentacji wyjściowej. Zapewniając funkcjonalność, taką jak osadzanie zrzutów ekranu, scenorysów lub rejestrowanie danych wyjściowych, rozszerzenia zapewniają pewność co do tego, co robi test, bez blokowania testu w określonej implementacji.

Concordion wzbogaca procesy zwinne i został z powodzeniem zastosowany w kontekście przemysłowym.

Przykład

Specyfikacja formatu Markdown

HelloWorld.md
Przed oprzyrządowaniem
Powitanie dla świata to Hello World!
Po oprzyrządowaniu
 Powitanie dla [  World  ](  - "#name"  ) to [  Hello World!  ](  - "?=pozdrowieniaDla(#imię  )") 

Specyfikacja formatu HTML

HelloWorld.html
Przed oprzyrządowaniem

    
        
    
 <  html  >  <  body  >  <  p  >  Pozdrowienie dla  <  b  >  świata  </  ​​b  >  to  <  b  >  Witaj, świecie!  </  b  ></  p  >  </  treść  >  </  html  > 
Po oprzyrządowaniu
 
    
          
        
    
 <  html  xmlns:concordion  =  "http://www.concordion.org/2007/concordion"  >  <  body  >  <  p  >  Pozdrowienie dla  <  b  concordion:set  =  "#name"  >  Świat  </  b  >  to  <  b  concordion:assertEquals  =  "greetingFor(#name)"  >  Witaj, świecie!  </  b  >  </  p  >  </  treść  >  </  html  > 

Kod urządzenia

HelloWorldTest.java
Urządzenie współpracujące z oprzyrządowaniem
 

 
 


   

        
             
    
 pakiet  org.wikipedia  ;  import  org.concordion.integration.junit4.ConcordionRunner  ;  import  org.junit.runner.RunWith  ;  @RunWith  (  ConcordionRunner  .  class  )  public  class  HelloWorldTest  {  public  String  pozdrowienia dla  (  String  firstName  )  {  return  "Cześć"  +  imię  +  "!"  ;  }  } 

Zintegrowane wsparcie środowiska programistycznego

Wtyczka Concordion Support dla zintegrowanego środowiska programistycznego (IDE) IntelliJ IDEA upraszcza tworzenie urządzeń i specyfikacji dzięki funkcjom obejmującym autouzupełnianie, nawigację między specyfikacjami i urządzeniami testowymi, zmianę nazwy, przeprowadzanie testów, inspekcje i szybkie poprawki.

Wtyczka Concordion (oprogramowanie) Eclipse jest znacznie bardziej ograniczona i nie była aktualizowana od 2011 roku. Oryginalny autor przestał używać Concordion i Eclipse i nie jest w stanie poświęcić czasu na rozszerzenie i utrzymanie wtyczki.

Porty

Concordion został przeniesiony na inne języki, w tym:

Linki zewnętrzne