Go: cmd / go: يجب أن يقوم الاختبار بطباعة حالات الفشل إلى stderr

تم إنشاؤها على ٢٠ سبتمبر ٢٠١٧  ·  3تعليقات  ·  مصدر: golang/go

يكون الناتج go test صاخبًا تمامًا عند تعيين -v. سيكون من الرائع أن تكون قادرًا على التمييز بين الحالات الفاشلة وتفاصيلها.

قد يكون أحد الفروق هو كتابة تفاصيل الفشل إلى stderr ، ثم يمكن للأدوات تلوين أو ترشيح stderr لتسليط الضوء على الإخفاقات:

stderrtest

تضمين التغريدة

FrozenDueToAge

التعليق الأكثر فائدة

سأكتب أداة لاستهلاك الناتج go test بدلاً من ذلك ، شكرًا على الإدخال.

ال 3 كومينتر

بعض الطرق للتلوين تبدو جيدة بالنسبة لي ، لكن خلط stdout / stderr لا يبدو أنه النهج الصحيح. أعتقد أنه سيكون هناك الكثير من السيناريوهات التي يخرج فيها الإخراج عن المزامنة.

الكتابة إلى stderr ليست صحيحة. كما قال إيان ، من السهل جدًا إخراج stdout و stderr من المزامنة بهذه الطريقة. إنها ليست من أجل التشذير الدقيق للناتج نفسه. هنا يوجد دفق إخراج واحد فقط ، لذا يذهب كل شيء إلى مخرج واحد. (الحالة الأساسية لـ stdout / stderr ستكون شيئًا مثل cat ، حيث ينتقل الإخراج إلى stdout لكن الأخطاء المتعلقة بعدم القدرة على فتح ملفات الإدخال أو قراءتها تنتقل إلى stderr.)

إذا كنت ترغب في كتابة برنامج لقراءة مخرجات الاختبار وتقديمه بالألوان ، فسيبدو ذلك سهلاً مع الإخراج الحالي ، دون أي مساعدة إضافية من الأمر go أو حزمة الاختبار.

سأكتب أداة لاستهلاك الناتج go test بدلاً من ذلك ، شكرًا على الإدخال.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات