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

روش های زیادی برای نام گذاری متد های Unit Test معرفی میشه، لطفا Best Practice های آن را معرفی کنید.

2 پاسخ

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

 در این لینک 7 روش مشهور نامگذاری متد های تست آمده است:

  1. MethodName_StateUnderTest_ExpectedBehavior
  2. MethodName_ExpectedBehavior_StateUnderTest
  3. test[Feature being tested]
  4. Feature to be tested
  5. Should_ExpectedBehavior_When_StateUnderTest
  6. When_StateUnderTest_Expect_ExpectedBehavior
  7. Given_Preconditions_When_StateUnderTest_Then_ExpectedBehavior
0 امتیاز
قبل توسط (1.1هزار امتیاز)
ویرایش شده قبل توسط

به نظر من بهترین روش برای نوشتن unit test و نام گذاری آن استفاده از روش behaviour-driven development - BDD است:

Given some initial context (the givens),
When an event occurs,
then ensure some outcomes

یک نام خوب باید هر سه قسمت را در خود داشته باشد و کاملا هدف از نوشتن متد تست را مشخص کند، البته پیشنهاد شخصی من این است که نام متد بر عکس روال نوشتن تست باشد یعنی اول نتیجه تست در نام بیاید سپس رویداد و در نهایت مقدار های اولیه، بنظر من این باعث سریعتر خوانده شدن نام تست در زمان بروز خطا می شود:

public class ClientDetailsValidatorTest{
    testShowGreetingConnectToServerViewStart()
}

البته بعضی از توسعه دهندگان توصیه می کنند برای نام گذاری متد های unit test از قانون camelCase استفاده نشود و از قانون snake_case استفاده شود، و برای هر قسمت متد unit test یک _ گذاشته شود:

test_ShowGreeting_ConnectToServer_ViewStart()

سوالات مشابه

0 امتیاز
1 پاسخ 418 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
0 امتیاز
1 پاسخ 576 بازدید
+1 امتیاز
1 پاسخ 322 بازدید
0 امتیاز
0 پاسخ 252 بازدید
+1 امتیاز
1 پاسخ 396 بازدید
+1 امتیاز
1 پاسخ 215 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
+1 امتیاز
1 پاسخ 449 بازدید
...