0 امتیاز
قبل در برنامه نویسی توسط (922 امتیاز)

من یک کلاس تست با استفاده از JUnit 4 نوشتم در این کلاس قبل از اجرای هر متد تست باید یکسری مقداردهی های اولیه صورت گیرد:

public class MyTest {

    @Before
    public final void insertInitData() {
      
    }

    @Before
    public final void insertTestEntities() {
      
    }

    @Before
    public final void insertLastData() {
      
    }

    @Test
    public void test() { 
	//my test is here
    }


}

سه متدی که @Before دارند باید پشت سر هم اجرا شوند. وقتی در این حالت تست را اجرا می کنم متد تست بدلیل ناقص بودن اطلاعات افزوده شده در پایگاه داده خطا می دهد. اما وقتی این سه متد را در یک متد ادغام می کنم تست به راحتی اجرا می شود مشکل در چیست؟

با سپاس.

1 پاسخ

+1 امتیاز
قبل توسط (1.1هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

در JUnit هیچ تظمینی وجود ندارد که متدهایی که با @Before علامت گذاری شده اند پشت سر هم اجرا شوند. احتمالا مشکل شما از همین قضیه نشات می گیرد.

سوالات مشابه

0 امتیاز
0 پاسخ 468 بازدید
+1 امتیاز
0 پاسخ 937 بازدید
سوال شده 11 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 555 بازدید
0 امتیاز
1 پاسخ 722 بازدید
+1 امتیاز
1 پاسخ 543 بازدید
0 امتیاز
0 پاسخ 3.2هزار بازدید
...