1
WP, Drupal, SMF, WP 등을 위해 만들어진 플러그인이 있습니다. 이제 해당 플러그인에 대한 단위 테스트를 작성하고 싶습니다. 그래서 그들을위한 공통 단위 테스트 코드를 작성하거나 기본 코드 만 작성할 수있는 방법이 있습니다. 각 플러그인마다 단위 테스트를 별도로 작성하고 싶지는 않습니다.모든 인기있는 CMS에 대한 공통 단위 테스트 코드를 작성하는 방법
WP, Drupal, SMF, WP 등을 위해 만들어진 플러그인이 있습니다. 이제 해당 플러그인에 대한 단위 테스트를 작성하고 싶습니다. 그래서 그들을위한 공통 단위 테스트 코드를 작성하거나 기본 코드 만 작성할 수있는 방법이 있습니다. 각 플러그인마다 단위 테스트를 별도로 작성하고 싶지는 않습니다.모든 인기있는 CMS에 대한 공통 단위 테스트 코드를 작성하는 방법
플러그인이 실제로 무엇을하는지 알지 못하면 대답이 약간 메타가 될 수 있습니다.
당신은 polymorphism 사용해야
interface
만들기 플러그인이 게시물을 포맷하는 경우 즉, 당신이라고 그 인터페이스 방법이있을 것이다 format_post()
)이 인증 표준 물질 각각에 대해format_post()
을 정의하는 인터페이스를 구현하는합니다 (CRM 테스트 클래스의 각 인스턴스를 생성, 테스트를 실행 파일에서 해당 인터페이스format_post()
그들에게 전화하십시오
내 플러그인은 기본 채팅입니다. 나는 모든 플러그인에서 공통적 인 auth에 대한 설정 배열과 서버 응답 만 테스트하려고합니다. – Vivek
그러면 '기본 클래스'를 사용하여 '인터페이스'대신 공통 기능을 포함 할 수 있고 자식 클래스는 '확장'할 수 있습니다. 아이디어는 동일합니다. 부모 클래스는 자식 클래스가 다형성으로 호출하는 코드 (예제에서는'format_post()'또는 특정 경우에'test_settings_array()')를 보장합니다. –
좋습니다. 또한 phpunit 클래스의 객체를 만들고 내 코드 내에서 사용할 수있는 방법이 있습니다. saveSettings() 함수를 사용하여 설정 []이 생성되고 게시물을 통해 서버로 전송되는 것처럼 이럴 수 있습니다 '$ settings = [ 'setting1'=> 'a', 'setting2'=> 'b']; $ o-> testSettingsArray ($ settings); saveSettingsOnServer ($ settings); ' 여기서 $ o는 phpunit 클래스의 객체입니다. – Vivek