جيه يونت

جيه يتونت JUnit (بالإنجليزية: JUnit)‏ هو إطار اختبار الوحدة للغة جافا البرمجية. لا يزال جيه يونت جزء لا يتجزأ في مجال التطويرالبرمجي القائم على الاختبار، وهو واحد من عائلة أطر اختبار الوحدة التي تُعرف بشكل جماعي باسم أكس يونت xUnit التي نشأت مع أس يونت SUnit.

جيه يونت
معلومات عامة
نوع
نظام التشغيل
المنصة
ضمان الجودة
مواقع الويب
معلومات تقنية
المطورون
لغة البرمجة
الإصدار الأخير
المستودع
الرخصة
رخصة إكليبس العامة[2] (relicensed from CPL before)

جيه يونت مرتبط كـ جار في وقت التجميع؛ يتواجد الإطار تحت الحزمة junit.framework لـ JUnit 3.8 والإصدارات الأقدم، وفي إطار الحزمة org.junit لـ JUnit 4 والإصدارات الأحدث. اخر اصدار لجيه يونت هو الأصدار الخامس الذي تميز بعدة تحديثات أهمها الترقية من JDK5 إلى JDK 8 و أيضاً أصبحت التدوينات البرمجية أفضل من حيث المقروئية.[3] وجد مسح بحثي تم إجراؤه في عام 2013 عبر 10000 مشروع جافا مستضاف على موقع غيت هب أن جيه يونت (بالتشارك مع slf4j-api )، كانت المكتبة الخارجية الأكثر شيوعًا. تم استخدام كل مكتبة بنسبة 30.7٪ من المشاريع. [4]

مثال على تركيبات اختبار جيه يونت

تركيبات اختبار جيه يونت هي كائن جافا. مع الإصدارات القديمة من جيه يونت، كان على التركيبات أن ترث من junit.framework. TestCase، ولكن الاختبارات باستخدام JUnit 4 لا يتوجب عليها ذلك. [5] يجب تعليم الطرق المختبرة بالتدوين البرمجي annotation، التدوين البرمجي يتم على سبيل المثال بواسطة Test@. إذا تطلب الوضع ذلك، [6] من الممكن أيضا تحديد طريقة لتنفيذ قبل (أو بعد) كل واحدة (أو جميع) طرق الاختبار بواسطة التدوينات البرمجية Before@ (أو After@ ) و BeforeClass@ (أو AfterClass@ ) .

مثال جيه يونت 4

import org.junit.*;

public class FoobarTest {
  @BeforeClass
  public static void setUpClass() throws Exception {
    // يتم تشغيل الكود قبل تنفيذ طريقة الاختبار الأولى
  }
 
  @Before
  public void setUp() throws Exception {
    // الكود ينفذ قبل كل اختبار
  }
 
  @Test
  public void testOneThing() {
    // الكود الذي يختبر شيء معين
  }

  @Test
  public void testAnotherThing() {
    // كود يختبر شيء أخر
  }

  @Test
  public void testSomethingElse() {
    // كود يختبر شي مختلف عما سبق
  }

  @After
  public void tearDown() throws Exception {
    // كود ينفذ بعد كل اختبار
  }
 
  @AfterClass
  public static void tearDownClass() throws Exception {
    //كود يتم تنفيذه بعد أخر طريقة اختبار 
  }
}

مثال جيه يونت 5

أحد الأمثلة البسيطة على جيه يونت 5 [7]:

package com.example.project;

import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
;

class CalculatorTests {

	@Test
	@DisplayName("2 * 5 = 10")
	void multiTwoNumbers() {
		Calculator calculator = new Calculator();
		assertEquals(2, calculator.multi(2, 5), "2 * 5 = 10");
	}

	void multi(int x, int y, int expectedResult) {
		Calc calculator = new Calc();
		assertEquals(expectedResult, calc.multi(x, y),
				() -> x + " * " + y + " = " + expectedResult);
	}
}

المراجع

  1. الوصول: 5 أكتوبر 2017.
  2. "Relicense JUnit from CPL to EPL". Philippe Marschall. 18 May 2013. مؤرشف من الأصل في 29 يونيو 2020. اطلع عليه بتاريخ 20 سبتمبر 2013. الوسيط |CitationClass= تم تجاهله (مساعدة)
  3. "Unit Testing in Java with JUnit 5". Stack Abuse (باللغة الإنجليزية). مؤرشف من الأصل في 28 يونيو 2020. اطلع عليه بتاريخ 28 يونيو 2020. الوسيط |CitationClass= تم تجاهله (مساعدة)
  4. "We Analyzed 30,000 GitHub Projects – Here Are The Top 100 Libraries in Java, JS and Ruby". مؤرشف من الأصل في 09 يوليو 2014. الوسيط |CitationClass= تم تجاهله (مساعدة)
  5. كينت بيك, إريك جاما. "JUnit Cookbook". junit.sourceforge.net. مؤرشف من الأصل في 15 يونيو 2020. اطلع عليه بتاريخ 21 مايو 2011. الوسيط |CitationClass= تم تجاهله (مساعدة)
  6. كينت بيك. "Expensive Setup Smell". C2 Wiki. مؤرشف من الأصل في 09 يوليو 2016. اطلع عليه بتاريخ 28 نوفمبر 2011. الوسيط |CitationClass= تم تجاهله (مساعدة)
  7. "junit-team/junit5-samples". GitHub (باللغة الإنجليزية). مؤرشف من الأصل في 11 يونيو 2018. اطلع عليه بتاريخ 28 يونيو 2020. الوسيط |CitationClass= تم تجاهله (مساعدة)

    روابط خارجية

    • بوابة برمجة الحاسوب
    • بوابة برمجيات
    • بوابة برمجيات حرة
    • بوابة علم الحاسوب
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.