기본 응용 프로그램에 영향을 미치지 않고 플러그인을 테스트하려면 다른 플랫폼에서 적용 할 수있는 몇 가지 전략이 필요합니다. 다음은이를 달성하는 방법에 대한 자세한 안내서입니다.
1. 스테이징 또는 테스트 환경 만들기 **
플러그인을 테스트하는 가장 효과적인 방법 중 하나는 별도의 준비 또는 테스트 환경을 설정하는 것입니다. 이 환경은 기능, 설계 및 컨텐츠 측면에서 라이브 응용 프로그램의 정확한 복제본이어야합니다. 이 접근법은 특히 라이브 사이트를 반영하지만 대중에게 접근 할 수없는 준비 사이트를 만들 수있는 WordPress와 같은 플랫폼에 특히 유용합니다 [5].
2. 로컬 개발 서버 사용 **
Minecraft 플러그인과 같은 서버 환경이 필요한 플러그인의 경우 로컬 개발 서버를 설정하는 것이 유리할 수 있습니다. 이를 통해 기본 서버에 영향을 미치지 않고 플러그인을 분리하여 테스트 할 수 있습니다. 로컬 컴퓨터 또는 다른 기계에서 서버의 별도 인스턴스를 실행하여 가능한 한 생산 환경을 최대한 가깝게 모방 할 수 있습니다 [10].
3. 단위 테스트 및 통합 테스트 **
단위 테스트 및 통합 테스트를 구현하면 주요 응용 프로그램에 영향을 미치지 않고 플러그인 기능이 올바르게 작동하도록하는 데 도움이됩니다. 단위 테스트는 플러그인의 개별 구성 요소에 중점을두고 통합 테스트는 이러한 구성 요소가 서로 상호 작용하는 방법과 응용 프로그램을 확인합니다. 이 접근법은 Gradle과 같은 환경에서 개발 된 플러그인에 유용하며, 여기서 Junit과 같은 도구를 테스트하기 위해 [3] [7].
4. 백업 및 복원 **
준비 환경에서 플러그인을 테스트하기 전에 데이터 백업을 작성하십시오. 이를 통해 테스트 중에 문제가 발생하면 환경을 원래 상태로 복원 할 수 있습니다. WordPress와 같은 플랫폼의 경우 백업 플러그인 또는 수동 백업 방법을 사용하는 것이 권장됩니다 [5].
5. 수동 테스트 **
수동 테스트에는 준비 환경에서 플러그인과 수동으로 상호 작용하여 예상대로 작동하는지 확인합니다. 이것은 시간이 많이 걸릴 수 있지만 자동화 된 테스트가 놓칠 수있는 사용자 경험 문제를 포착하는 데 필수적입니다. 복잡한 플러그인의 경우 여러 사용자가 플러그인을 테스트하여 다양한 피드백을 수집하도록하는 것이 좋습니다 [5].
6. 디버깅 및 오류 처리 **
테스트하는 동안 디버그 모드를 활성화하거나 자세한 오류 메시지를 제공하는 도구를 사용하는 것이 중요합니다. 이를 통해 문제를 즉시 식별하고 해결하는 데 도움이됩니다. 예를 들어 WordPress에서`wp-config.php` 파일에서`wp_debug`를 'true`로 설정하여 디버그 모드를 활성화 할 수 있습니다 [5].
7. 복합 빌드 (Gradle) **
Gradle 플러그인의 경우 Composite 빌드를 사용하여 플러그인 프로젝트를 소비 프로젝트에 직접 포함시킬 수 있습니다. 이를 통해 플러그인을 게시하지 않고 변경 사항을 테스트 할 수 있으므로 제어 된 환경에서 플러그인을 쉽게 반복하고 디버깅 할 수 있습니다 [3].
이러한 전략을 따르면 주요 응용 프로그램을 방해하지 않고 플러그인을 효과적으로 테스트하여 배포하기 전에 안정적이고 기능적인지 확인할 수 있습니다.
인용 :[1] https://forum.bubble.io/t/i-want-to-use-the-test-version-of-my-plugin-my-test-environment-but-apublished-version-in-live/246361
[2] https://wordpress.stackexchange.com/questions/175662/plugin-unit-test-for-table-noption-creation
[3] https://docs.gradle.org/current/userguide/testing_gradle_plugins.html
[4] https://www.servicenow.com/community/developer-forum/plugins-table-active-fo-test-instance/m-p/2193695
[5] https://www.easywp.com/blog/how-to-test-a-wordpress-plugin/
[6] https://stackoverflow.com/questions/14157672/how-can-i-test-my-services-without-affecting-my-database
[7] https://www.spigotmc.org/threads/how-do-you-test-your-plugins.73156/
[8] https://yoast.com/help/how-to-check-for-plugin-conflicts/
[9] https://developer.hashicorp.com/terraform/plugin/sdkv2/testing/acceptance-tests
[10] https://www.reddit.com/r/admincraft/comments/17wtlzu/best_way_to_test_plugin_features_before_release/