Concordion - Jalankan Perintah

Perintah run konkordion dapat digunakan untuk menghubungkan beberapa spesifikasi bersama dan menampilkannya di satu halaman pusat. Perintah ini dapat menjalankan semua spesifikasi, sambil menampilkan latar belakang tautan dalam warna hijau / merah / abu-abu yang sesuai.

Sekarang kita akan membuat dua spesifikasi dan menghubungkannya. Kami akan menggunakan kembali spesifikasi yang dibuat dalam Concordion - Execute on List dan Concordion - Execute on Table chapter sebagai System Spesifikasi dan Spesifikasi Kalkulator.

Contoh

Mari kita memiliki IDE Eclipse yang berfungsi dan ikuti langkah-langkah yang diberikan di bawah ini untuk membuat aplikasi Concordion -

Langkah Deskripsi
1 Buat proyek dengan konkordeon nama dan buat paket com.tutorialspoint di bawahsrc folder dalam proyek yang dibuat.
2 Tambahkan library Concordion yang diperlukan menggunakan opsi Add External JARs seperti yang dijelaskan dalam bab Concordion - First Application .
3 Buat Sistem kelas Java di bawah paket com.tutorialspoint .
4 Buat kelas Fixture SystemFixture , CalculatorFixture di bawah paket specs.tutorialspoint .
5 Buat file spesifikasi html System.html , Calculator.html di bawah paket specs.tutorialspoint .
6 Langkah terakhir adalah membuat konten dari semua file Java dan file spesifikasi dan menjalankan aplikasi seperti yang dijelaskan di bawah ini.

Berikut adalah konten file System.java -

package com.tutorialspoint;
import org.concordion.api.MultiValueResult;

public class System { 
   public MultiValueResult split(String userName){  
      MultiValueResult result = new MultiValueResult();
      String[] words = userName.split(" ");   
      result.with("firstName", words[0]).with("lastName", words[1]);       
      return result;
   }
	
   public int sum(int firstNumber, int secondNumber) {
      return firstNumber + secondNumber;
   }
}

Berikut adalah konten file SystemFixture.java -

package specs.tutorialspoint;

import org.concordion.api.MultiValueResult;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import com.tutorialspoint.System;

@RunWith(ConcordionRunner.class)

public class SystemFixture {
   System system = new System();
   public MultiValueResult split(String userName){
      return system.split(userName);
   }  
}

Berikut ini adalah konten file CalculatorFixture.java -

package specs.tutorialspoint;

import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import com.tutorialspoint.System;

@RunWith(ConcordionRunner.class)

public class CalculatorFixture {
   System system = new System();
   public int sum(int firstNumber, int secondNumber) {
      return system.sum(firstNumber, secondNumber);
   }
}

Berikut adalah konten file 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 split full name of a 
         logged in user to its constituents by splitting name by whitespace:</p>
		
      <div class = "example">      
         <h3>Example</h3>
			
         <ul>
            <li>The full name <span concordion:execute = "#result = split(#TEXT)">
               Robert De</span> is to be splited as
               <ul>
                  <li><span concordion:assertEquals = "#result.firstName">
                     Robert</span></li>
                  <li><span concordion:assertEquals = "#result.lastName">
                     De</span></li>
               </ul>
            </li>
         
            <li>The full name <span concordion:execute = "#result = split(#TEXT)">
               John Diere</span> is to be splited as
               <ul>
                  <li><span concordion:assertEquals = "#result.firstName">
                     John</span></li>
                  <li><span concordion:assertEquals = "#result.lastName">
                     Diere</span></li>
               </ul>
            </li>
      
         </ul>
      </div>
   
      <a concordion:run = "concordion" href = "Calculator.html">
         Calculator Service Specifications</a>
   </body>

</html>

Berikut ini adalah konten file Calculator.html -

<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
   <head>
      <link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
   </head>

   <body>
      <h1>Calculator Specifications</h1>
      <p>We are building online calculator support in our website.</p>
      <p>Following is the requirement to add two numbers:</p>
		
      <div class = "example">
         <h3>Example</h3>
		
         <table>
            <tr>
               <th>First Number</th>
               <th>Second Number</th>
               <th>Sum</th>
            </tr>
            <tr concordion:execute = "#result = sum(#firstNumber, #secondNumber)">
               <td concordion:set = "#firstNumber">2</td>
               <td concordion:set = "#secondNumber">3</td>
               <td concordion:assertEquals = "#result">5</td>
            </tr>
            <tr concordion:execute = "#result = sum(#firstNumber, #secondNumber)">
               <td concordion:set = "#firstNumber">4</td>
               <td concordion:set = "#secondNumber">5</td>
               <td concordion:assertEquals = "#result">9</td>
            </tr>
         </table>
   
      </div>
   </body>

</html>

Setelah Anda selesai membuat file sumber dan spesifikasi, mari kita jalankan aplikasi sebagai JUnit Test. Jika semuanya baik-baik saja dengan aplikasi Anda, maka itu akan menghasilkan hasil sebagai berikut -

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 2, Failures: 0
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 6, Failures: 0

System.html adalah output dari uji coba Concordion.

Klik tautan Spesifikasi Layanan Kalkulator. Anda akan melihat output berikut -