語境:如何使用Test :: More和朋友自動測試繼承行爲?
說我有相互繼承幾個模塊(使用老派的繼承與base
和parent
,不駝鹿或類似)。 Foo::Bar
繼承Foo
和Foo::Bar::Baz
繼承Foo::Bar
。所有這些模塊都有用Test::More
編寫的測試套件。子類的測試套件只測試它實現的方法。子類不一定會覆蓋其父母中的所有方法,儘管他們可能會添加父母不具備的新方法。
問:
有一些測試框架,技術或Test::More
功能與我可以寫測試,不僅要測試的具體子類的行爲,但也將隨後運行任何繼承的行爲測試套件/父類以及?基本上,我正在尋找一些東西,它允許我爲子類的獨特/特殊行爲編寫測試,但也會測試並確保子類在測試中的行爲與預期的父類相同。
我已經試過:
我已經寫了與建立一個字符串指定模塊的實例,並取決於什麼類型的模塊運行測試反對發電機方法非常簡單的測試工具被請求(有一箇中央哈希,保持跟蹤子類/超類層次結構),但這似乎很粗糙。我假設(像我在Perl中需要做的大多數事情),其他人已經以更加優雅和穩健的方式做到了這一點。