"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > اختبار الوحدة عند الذهاب

اختبار الوحدة عند الذهاب

تم النشر بتاريخ 2024-08-01
تصفح:673

Unit Test At Go

يوفر Go حزمة اختبار تحتوي على العديد من الأدوات لأغراض اختبار الوحدة.

تحضير
دعونا نتدرب فقط، ونقوم أولاً بإعداد بنية مكعبة، وسيتم استخدام متغير الكائن الناتج للبنية لاحقًا كمواد اختبار.

package main

import "math"

type Cube struct {
 Sisi float64
}
func (k Cube) Volume() float64 {
 return math.Pow(k.Sisi, 3)
}
func (k Cube) Area() float64 {
 return math.Pow(k.Sisi, 2) * 6
}
func (k Cube) circumference() float64 {
 return k.Sisi * 12
}

احفظ الكود أعلاه في ملف Training1.go

package main
import "testing"
var (
cube Cube = Cube{4}
volume Should float64 = 64
area Should float64 = 96
circumference Should float64 = 48
)
func TestCalculateVolume(t *testing.T) {
t.Logf("Volume : %.2f", cube.Volume())
if cube.Volume() != volumeShould {
t.Errorf("WRONG! should be %.2f", volumeShould)
}
}
func TestCalculateSurface(t *testing.T) {
t.Logf("Area : %.2f", cube.Area())
if cube.Area() != areaShould {
t.Errorf("WRONG! should be %.2f", areaShould)
}
}
func TestCalculatePerimeter(t *testing.T) {
t.Logf("Perimeter : %.2f", cube.Perimeter())
if cube.Perimeter() != circumferenceShould {
t.Errorf("WRONG! should be %.2f", circumferenceShould)
}
}

يتم استخدام طريقة t.Logf() لعرض السجل. هذه الطريقة تعادل fmt.Printf() .
يتم استخدام طريقة Errorf() لعرض سجل متبوعًا ببيان يفيد بحدوث فشل أثناء الاختبار.
طريقة تنفيذ الاختبار هي استخدام أمر go test. نظرًا لأن البنية التي يتم اختبارها موجودة في الملف bab55.go، عند تنفيذ الاختبار باستخدام go test، يجب كتابة أسماء الملفات bab55_test.go وbab55.go كوسيطات. يتم استخدام -v أو الوسيطة المطولة لعرض كافة مخرجات السجل أثناء الاختبار.
قم بتشغيل التطبيق كما هو موضح في الصورة أدناه، ويمكن ملاحظة أنه لم تفشل أي اختبارات. حسنًا، حاول تغيير صيغة الحساب لطريقة Keliling(). الغرض من هذا التغيير هو معرفة كيفية ظهور علامة الفشل عند فشل الاختبار.

func (k Cube) Perimeter() float64 {
return k.Side * 15
}

بعد ذلك قم بإجراء الاختبار مرة أخرى.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/sukmarizki04/unit-test-at-go-393f?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3