NUnit এর সমান্তরাল কোন JUnit আছে CollectionAssert?
NUnit এর সমান্তরাল কোন JUnit আছে CollectionAssert?
উত্তর:
JUnit 4.4 ব্যবহার করে আপনি হ্যাক্রেস্ট কোডের assertThat()সাথে একসাথে ব্যবহার করতে পারেন (উদ্বেগ করবেন না, এটি JUnit এর সাথে প্রেরণ করা হয়েছে, কোনও অতিরিক্তের দরকার নেই ) সংগ্রহগুলিতে পরিচালনা করে এমন জটিল স্ব-বর্ণনামূলক দৃser়তা.jar উত্পন্ন করতে:
import static org.junit.Assert.assertThat;
import static org.junit.matchers.JUnitMatchers.*;
import static org.hamcrest.CoreMatchers.*;
List<String> l = Arrays.asList("foo", "bar");
assertThat(l, hasItems("foo", "bar"));
assertThat(l, not(hasItem((String) null)));
assertThat(l, not(hasItems("bar", "quux")));
// check if two objects are equal with assertThat()
// the following three lines of code check the same thing.
// the first one is the "traditional" approach,
// the second one is the succinct version and the third one the verbose one
assertEquals(l, Arrays.asList("foo", "bar")));
assertThat(l, is(Arrays.asList("foo", "bar")));
assertThat(l, is(equalTo(Arrays.asList("foo", "bar"))));
এই পদ্ধতিটি ব্যবহার করে আপনি স্বয়ংক্রিয়ভাবে দৃsert়রূপে এটির বিশদ বিবরণ পাবেন it
সরাসরি না, না। আমি হ্যামক্রেস্টের ব্যবহারের পরামর্শ দিচ্ছি , যা মিলনীয় বিধিগুলির একটি সমৃদ্ধ সেট সরবরাহ করে যা jUnit (এবং অন্যান্য পরীক্ষার ফ্রেমওয়ার্ক) এর সাথে সুন্দরভাবে সংহত করে
ফেস্ট ফ্লুয়েন্ট এ্যাসারেন্সগুলি একবার দেখুন। আইএমএইচও তারা হ্যামক্রেস্টের চেয়ে বেশি সুবিধাজনক (এবং সমান শক্তিশালী, এক্সটেনসিবল ইত্যাদি) এবং সাবলীল ইন্টারফেসের জন্য আইডিই সমর্থন করার জন্য আরও ধন্যবাদ thanks Https://github.com/alexruiz/fest-assert-2.x/wiki/Using-fest-assertions দেখুন
জোছিম সউরের সমাধানটি দুর্দান্ত তবে আপনি যদি ইতিমধ্যে যাচাই করতে চান এমন প্রত্যাশার একটি অ্যারে থাকে তবে তা কার্যকর হয় না। আপনি যদি ইতিমধ্যে আপনার পরীক্ষাগুলিতে একটি উত্পন্ন বা ধ্রুবক প্রত্যাশা রেখে থাকেন যা আপনি কোনও ফলাফলের সাথে তুলনা করতে চান, বা ফলতে মার্জ হওয়ার আশা করছেন আপনার একাধিক প্রত্যাশা রয়েছে This সুতরাং ম্যাচার ব্যবহার না করে আপনি কেবল List::containsAllএবং assertTrueউদাহরণ হিসাবে ব্যবহার করতে পারেন :
@Test
public void testMerge() {
final List<String> expected1 = ImmutableList.of("a", "b", "c");
final List<String> expected2 = ImmutableList.of("x", "y", "z");
final List<String> result = someMethodToTest();
assertThat(result, hasItems(expected1)); // COMPILE ERROR; DOES NOT WORK
assertThat(result, hasItems(expected2)); // COMPILE ERROR; DOES NOT WORK
assertTrue(result.containsAll(expected1)); // works~ but has less fancy
assertTrue(result.containsAll(expected2)); // works~ but has less fancy
}
hasItems(expected1.toArray(new String[expected1.size()]))। এটি আপনাকে আরও ভাল ব্যর্থতার বার্তা দেবে।