আমি বর্তমানে চিন্তাভাবনা করছি যে পরীক্ষাগুলি কীভাবে লিখতে হবে যা যদি কোনও প্রদত্ত কোডের টুকরা আতঙ্কিত হয় কিনা তা পরীক্ষা করে? আমি জানি যে গো recover
প্যানিক্সগুলি ধরতে ব্যবহার করে, তবে জাভা কোডের বিপরীতে, আপনি কোনও প্যানিকের ক্ষেত্রে কী কোডটি এড়াতে হবে বা আপনার কী আছে তা সত্যই আপনি নির্দিষ্ট করতে পারবেন না। সুতরাং আমার যদি একটি ফাংশন থাকে:
func f(t *testing.T) {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered in f", r)
}
}()
OtherFunctionThatPanics()
t.Errorf("The code did not panic")
}
OtherFunctionThatPanics
আতঙ্কিত হয়েছিল এবং আমরা পুনরুদ্ধার করেছি, বা ফাংশনটি মোটেই আতঙ্কিত হয় নি তা আমি সত্যিই বলতে পারি না । আতঙ্ক না থাকলে কোন কোডটি ছাড়তে হবে এবং আতঙ্ক থাকলে কোন কোডটি কার্যকর করতে হবে তা আমি কীভাবে নির্দিষ্ট করব? আমরা কীভাবে পরীক্ষা করতে পারি যে আমরা উদ্ধার করেছি এমন কিছু আতঙ্ক রয়েছে কিনা?