컨텍스트 :Test :: More 및 친구들을 사용하여 상속 된 동작을 자동으로 테스트 할 수 있습니까?
는 (사슴 또는 유사하지, base
및 parent
와 구식 상속을 사용하여) 내가 서로 상속 몇 가지 모듈을 말해봐. Foo::Bar
은 Foo
을 상속하고 Foo::Bar::Baz
은 Foo::Bar
을 상속합니다. 이 모든 모듈에는 Test::More
으로 작성된 테스트 스위트가 있습니다. 하위 클래스 용 테스트 스위트는 구현하는 메소드 만 테스트합니다. 자식 클래스는 부모 클래스의 모든 메서드를 재정의하지 않지만 부모 클래스에는없는 새 메서드를 추가 할 수 있습니다.
질문 :
내가 그뿐만 아니라 테스트 서브 클래스 특정 행동 것입니다 테스트를 작성할 수있는 몇 가지 테스트 프레임 워크, 기술, 또는 Test::More
기능이 있는가, 또한 다음 상속 동작에 대한 테스트 스위트를 실행합니다/부모 클래스도? 기본적으로 하위 클래스의 고유 한/특수한 동작에 대한 테스트를 작성할 수있는 무언가를 찾고 있지만 하위 클래스가 해당 부모 클래스와 동일한 방식으로 테스트에서 동작하는지 확인합니다. .
나는 시도했다 :
내가 문자열 지정 모듈의 인스턴스를 구축하고 모듈의 유형에 따라 반대 테스트를 실행하는 발전기 방법으로 매우 간단한 테스트 프로그램을 작성했습니다 (하위 클래스/수퍼 클래스 계층 구조를 추적하는 중앙 해시가 있습니다.)하지만 이것은 미숙 한 것 같습니다. 나는 (Perl에서해야하는 대부분의 일과 마찬가지로) 다른 누군가가 이미 훨씬 더 우아하고 견고한 방식으로이 작업을 수행했다고 가정합니다.