سؤال

أنا أقوم بتشغيل testdriven.net الإصدار 2.23، NBehave الإصدار 0.4.0.133، وحدة الإصدار nunit 2.5.0.9122. أنا أيضا تشغيل أحدث نسخة من resharper. فيما يلي Snipet من رمز الاختبار:

            var address = new Address
                          {
                              ActiveYN = true,
                              Address1 = "555 Main Street",
                              Address2 = "Apt 2",
                              City = city,
                              ModifiedBy = contact,
                              ModifiedDt = clockStub.GetCurrentTime(),
                              ZipCode = "76132",
                              Id = 9
                          };

        Assert.AreEqual(city, address.City);

إذا قمت بتشغيل عداء اختبار RESHREPER وتشغيل TestDriven.net، فإن الاختبار يمر. الآن إذا قمت بتغيير بناء جملة الاختبار إلى:

            var address = new Address
                          {
                              ActiveYN = true,
                              Address1 = "555 Main Street",
                              Address2 = "Apt 2",
                              City = city,
                              ModifiedBy = contact,
                              ModifiedDt = clockStub.GetCurrentTime(),
                              ZipCode = "76132",
                              Id = 9
                          };

        address.City.ShouldEqual(city);

إذا قمت بتشغيل الاختبار في عداء اختبار RESHHREPER، فلا أحصل على أخطاء. إذا قمت بالركض مع testdriven.net أحصل على:

failed: System.IO.FileLoadException : Could not load file or assembly 'nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

هذا هو جهاز جديد ولم أضمن أبدا NUNIT 2.4.8 أي أفكار؟

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

المحلول

هو Syntax Nunit الجديد 2.5 محددة؟ Resharper 4.5 (أحدث إصدار) لا يدعم NUNIT 2.5. لا يستخدم Resharper التجميعات NUNIT لأسباب ترخيص، لذلك حتى لو كان لديك Nunint 2.5، فإن Resharper يستخدم الإصدار الخاص به (ربما قد يكون ذلك هو 2.4.8؟). مزيد من المعلومات هنا:

http://www.jetbrains.net/devnet/thread/281286.

نصائح أخرى

إذا كنت ترغب في استخدام أحدث وأكبر إطار عمل NUNIT ودعم TestExceptionExceptionTtribute، يجب عليك تثبيت Framework Framework واستخدام Gallio Testrunner في Resharper.

يعمل Gallio كغلاف حول اختبارات وحدتك، لا حاجة لتغيير أي من الاختبارات الحالية الخاصة بك. ولكن نظرا لأنها السفن مع RESHHRAPER المخصصة الخاصة بها، فأنت تقوم بتحويل التبعية بين إعادة التجسيد والكتل الأخرى إلى أسفل الخط إلى Gallio و Nunit، ومن تجربتي، يتم تحديث Gallio في كثير من الأحيان أكثر من إعادة التجسيد (والمصدر المفتوح، حتى تتمكن حتى لفة محول NUNIT V42.1 الخاص بك إذا كنت ترغب في ذلك، مع الحد الأدنى من الجهد).

www.gallio.org.

هتافات، فلوريان

يمكنك كتابة تأكيد Framework Agnostic باستخدام مكتبة تسمى يجب. كما أن لديها بناء جملة بطلاقة لطيفة للغاية يمكن استخدامها إذا كنت تحب واجهات بطلاقة. كان لدي وظيفة مدونة ذات الصلة بنفس الشيء.

http://nileshgule.blogspot.com/11/19/use-should-assertion-library-to-write.html.

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