🔥 ۴۰ درصد تخفیف ثبت‌نام دوره‌ها قبل از افزایش قیمت‌ها
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ آذرداد شفا
مشکل در اجرا نشدن بنچ مارک و خطای [no test files]
آذرداد شفا حل شده توسط آذرداد شفا

سلام

پس از اجرا در خط فرمان با دستور go test -bench=. پیام [no test files] در خط فرمان داده می‌شود.

حتی به صورت ساده سعی کردم با یک مثال در اینترنت، با دستور  go test -bench=. بنچمارک رو اجرا کنم ، اما همچنان همین پیام داده می‌شود (مثلا نمونه زیر)

package main
import (
	"fmt"
	"testing"
)
func IntMin(a, b int) int {
	if a < b {
		return a
	}
	return b
}
func TestIntMinBasic(t *testing.T) {
	ans := IntMin(2, -2)
	if ans != -2 {
		t.Errorf("IntMin(2, -2) = %d; want -2", ans)
	}
}
func TestIntMinTableDriven(t *testing.T) {
	var tests = []struct {
		a, b int
		want int
	}{
		{0, 1, 0},
		{1, 0, 0},
		{2, -2, -2},
		{0, -1, -1},
		{-1, 0, -1},
	}
	for _, tt := range tests {
		testname := fmt.Sprintf("%d,%d", tt.a, tt.b)
		t.Run(testname, func(t *testing.T) {
			ans := IntMin(tt.a, tt.b)
			if ans != tt.want {
				t.Errorf("got %d, want %d", ans, tt.want)
			}
		})
	}
}
func BenchmarkIntMin(b *testing.B) {
	for i := 0; i < b.N; i++ {
		IntMin(1, 2)
	}
}

نکته دیگر اینکه خود VSCode آن‌ها را شناخته و به صورت جداگانه آن‌ها ران می‌کند اما وقتی در خط فرمان از دستوری که در ویدئو گفته شد استفاده می‌کنم، عملا بنچمارک اجرا نمی‌شود. 

عکس مرتبط را هم ضمیمه کردم (خب به نظر میاد که آپلودر عکس هم در سایت جدید درست کار نمی‌کنه :))) )

 

 

نکته دیگه اینکه کدهای مرتبط با بخش تست، در ریپو جناب آقای نعیمایی موجود نیست. خواستم مستقیما از آن‌ها استفاده کنیم ولی مثل اینکه از ریپو گیت هاب برداشته شده اند یا اینکه گذاشته نشده اند. 

 

آذرداد شفا ۲۳ آبان ۱۴۰۲، ۱۶:۰۰

سلام مجدد خدمت شما دوستان عزیز

خودم الان راه رو پیدا کردم. نیازی به گذاشتن مساوی نیست. به نظر میاد در ورژن 1.21.4 که دارم استفاده می‌کنم، شکل دستور باید به صورت زیر باشه

 

go test -bench . 
بهترین پاسخ
آذرداد شفا ۲۳ آبان ۱۴۰۲، ۱۶:۱۷

.

مهداد ناظری ۱۶ بهمن ۱۴۰۲، ۱۷:۳۷

.

الیا فرشیدورد ۱۷ بهمن ۱۴۰۲، ۰۶:۰۸