আমি কেবলমাত্র সর্বজনীন এপিআই ব্যবহার করে একটি সিস্টেমের পরীক্ষা করছি ration আমার একটা পরীক্ষা আছে যা দেখতে দেখতে এরকম কিছু দেখাচ্ছে:
def testAllTheThings():
email = create_random_email()
password = create_random_password()
ok = account_signup(email, password)
assert ok
url = wait_for_confirmation_email()
assert url
ok = account_verify(url)
assert ok
token = get_auth_token(email, password)
a = do_A(token)
assert a
b = do_B(token, a)
assert b
c = do_C(token, b)
# ...and so on...
মূলত, আমি একক লেনদেনের পুরো "প্রবাহ" পরীক্ষা করার চেষ্টা করছি। প্রবাহের প্রতিটি পদক্ষেপ পূর্ববর্তী পদক্ষেপ সাফল্যের উপর নির্ভর করে। আমি নিজেকে বাহ্যিক এপিআই-তে সীমাবদ্ধ করে রাখছি, তাই আমি কেবল ডাটাবেসের মধ্যে মান পোক করতে পারি না।
সুতরাং, হয় আমার কাছে সত্যিই দীর্ঘ পরীক্ষার একটি পদ্ধতি রয়েছে যা `এ; জাহির করা; বি; জাহির করা; সি; দৃsert়তা ... ", বা আমি এটি পৃথক পরীক্ষার পদ্ধতিতে বিভক্ত করেছি, যেখানে প্রতিটি পরীক্ষা পদ্ধতিতে এটি করার আগে পূর্ববর্তী পরীক্ষার ফলাফলের প্রয়োজন হয়:
def testAccountSignup():
# etc.
return email, password
def testAuthToken():
email, password = testAccountSignup()
token = get_auth_token(email, password)
assert token
return token
def testA():
token = testAuthToken()
a = do_A(token)
# etc.
আমি মনে করি এই গন্ধ। এই পরীক্ষাগুলি লেখার আরও ভাল উপায় আছে কি?