7
我在我的一些測試中使用了MockObjects,並且只能通過調用SUPER類來測試一個函數,而我似乎無法使其工作。 UNIVERSAL調用像$ this-> SUPER :: save()不會被模擬嗎?如果是的話,你是如何做到的?在Perl中嘲笑超類調用(使用Test :: MockObject)
謝謝。
編輯:
發現它!
使用fake_module
從Test::MockObject
所以,讓我們說你的基本模塊它Some::Module
,你的子程序作出$this->SUPER::save
通話,使用
my $child_class_mockup = Test::MockObject->new();
$child_class_mockup->fake_module(
'Some::Module',
save => sub() { return 1; }
);
離開開了兩天的問題,以在接受這個答案之前得到關於這樣做的不同方式/庫的輸入(如果SUPER呼叫有SUPER呼叫呢?)。