بدأت المتابعة هنا -> JUnit الجزء الأول
أريد أيضًا أن أوضح لك كيفية عمل الطريقة
يمكنك أن ترى أن اختباراتنا للمنشئ معطلة، كما تم اكتشاف بضعة اختبارات أخرى. الآن نحن بحاجة إلى تغيير المنشئ بحيث لا يضيف مستخدم لديه معلمات غير صالحة في قائمة المستخدمين، فلنفعل ذلك على النحو التالي:
باختصار، JUnit هي أداة ممتازة لتغطية التعليمات البرمجية الخاصة بك بالاختبارات. ستعمل JUnit بشكل أفضل، بالاشتراك مع Maven ، عند بناء المشروع، سيقوم Maven بالتأكيد بإجراء جميع الاختبارات، ثم بناء مشروعنا النهائي، ولكن إذا فشلت الاختبارات، فلن يتم بناء المشروع، وسنعرف الأسباب وسيكون من الأسهل معرفة مكان الانهيار بالضبط. الميزة الثانية لـ JUnit هي حالة إعادة البناء ، ستساعدنا اختبارات JUnit على ضمان عدم كسر منطق برنامجنا. وفي المشاريع الكبيرة لا تكون الحياة ممكنة بدون نظام اختبار تلقائي، رغم أنه قد يكون ممكناً، لكن مشروعك سيتحرك بسرعة السلحفاة... أو شيء من هذا القبيل...
إذا غطينا الكود الخاص بنا جيداً بالاختبارات ، ثم يمكننا التأكد من أن عميلنا، منتجنا سوف يعمل بشكل رائع. P/S أعرب عن امتناني العميق لفيكتور سيرجيف!!! فيما يلي روابط لدرس الفيديو الذي علمنا فيه:
شكرًا لكم على اهتمامكم!!! لديهم مزاج جيد!!! وربي يحفظك من الكود الهندوسي !!! ...أيضًا، إذا كان أي شخص مهتمًا بالتنقيب في الكود المصدري للمقال... تعال يطرق الباب... سأشاركك البداية هنا - JUnit الجزء الأول
Assert.fail(String)
- إذا تم استدعاء هذه الطريقة، فسيفشل الاختبار. يكون ذلك مناسبًا إذا لم تتمكن الطرق الأخرى للفصل Assert
من التحقق منا. لنفترض أننا بحاجة إلى حظر قبول new String(“”)
. دعونا نحاول القيام بذلك على المنشئ وتعطيل التمرير name = “” || null, age = 0; Sex = null
. هيا بنا... أضفت حقولاً إضافية للاختبار
private User user;
private User user1;
private User user2;
private User userNotAdd;
private User userNotAdd1;
وغيرت الطريقةsetUp()
@Before
public void setUp() throws Exception {
user = new User("Eugene", 35, Sex.MALE);
user1 = new User("Marina", 34, Sex.FEMALE);
user2 = new User("Alina", 7, Sex.FEMALE);
userNotAdd = new User("", 0, null);
userNotAdd1 = new User(null, 0, null);
}
وأضاف ثلاث طرق الاختبار
@Test
public void newUser_EMPTY_NAME() {
for (User user : User.getAllUsers()){
if (user.getName() != null && user.getName().isEmpty()) {
Assert.fail("Попытка создания пользователя с пустым именем");
}
}
}
@Test
public void newUser_AGE_ZERO() {
for (User user : User.getAllUsers()) {
if (user.getAge() <= 0) {
Assert.fail("Попытка создания пользователя c не допустимым возрастом");
}
}
}
@Test
public void newUser_SEX_NO_NULL() {
for (User user : User.getAllUsers()) {
if (user.getSex() == null) {
Assert.fail("Попытка создания пользователя с указанием пола = null");
}
}
}
في الاختبارات، نراجع قائمة المستخدمين المضافين ونرى ما إذا كانت هناك أي بيانات غير صالحة. نقوم بإجراء الاختبارات بكميات كبيرة، ونرى الصورة التالية... ![الوحدة الجزء الثاني - 2](https://cdn.javarush.com/images/article/f4287cc1-b86e-45a9-b4c2-aefaa0822d8e/1024.jpeg)
public User(String name, int age, Sex sex) {
if (name != null && !name.isEmpty() && age > 0 && sex != null){
this.name = name;
this.age = age;
this.sex = sex;
if (!hasUser()) {
countId++;
this.id = countId;
allUsers.put(id, this);
}
}
}
نحن نجري اختباراتنا ونرى أن كل شيء جميل، ![الوحدة الجزء الثاني - 3](https://cdn.javarush.com/images/article/ffeea981-c648-4d62-98e8-9e92045f5228/1024.jpeg)
![الوحدة الجزء الثاني - 4](https://cdn.javarush.com/images/article/b8a40ec5-5647-4215-852b-27d79b4daf7d/1024.jpeg)
GO TO FULL VERSION