سؤال

هل قام أي شخص بحملة هامكريست مع TETNG بحيث يمكن استخدام معاهداتها بسهولة في تأكيدات TESTNG؟

هل كانت مفيدة؟

المحلول

باختصار، للإجابة على سؤالك: لا تحتاج إلى دمج Testng مع Humcrest. اتصل وحسب org.hamcrest.MatcherAssert.assertThat(...) مباشرة التي يلقي java.lang.AssertionError.

خلفية

لقد وجدت سؤالك عبر Google، أتساءل نفس المشكلة بالضبط. بعد مزيد من googling، لم أجد أي إجابات مرضية، لذلك قرأت شفرة المصدر تكامل جونيت مع الحمامل.

مع Junit، يتم استخدام تكامل Humcrest عادة عن طريق الاتصال:

org.junit.Assert.assertThat(
    T actual,
    org.hamcrest.Matcher<? super T> matcher)

عندما قرأت شفرة المصدر، اكتشفت ذلك مجرد غلاف صغير للاتصال:

org.hamcrest.MatcherAssert.assertThat(
    String reason,
    T actual,
    org.hamcest.Matcher<? super T> matcher)

هذه الوظيفة رميات java.lang.AssertionError.

نصائح أخرى

إذا كنت تواجه مشكلة مع طريقة فارغة، فسوف أقترح إضافة hamcrest أولا في قائمة التبعية. أو استيراد أولا hamcrest, ، سوف يحل المشكلة.

كنت أستخدم TestNJ مع Rexsl (استخدام داخليا Hamcrest) وفشل في العثور على طريقة فارغة. ثم أضفت Rexsl أولا في قائمة التبعية، إذا كنت تقوم بإضافة مكتبة في مسار الفصل، فيمكنك محاولة إضافة أول هامكريست واحدا.

آمل أن يساعد شخص مثلي.

ما كان يعمل بالنسبة لي: 1. http://search.maven.org/

  1. ابحث عن "Java-Hamcrest" الأحدث كما هو الحال بالنسبة الآن هو "2.0.0.0"

  2. البحث عن الاعتماد على الخرج (في حالتي)

  3. تمت إضافة ترجمة "Org.hamcrest: Java-Hamcrest: 2.0.0.0 'للبني .gradle في مشروعي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top