워드 프레스 기능 제공 다른 결과를 외부의 대부 이 라이브러 테스트

wordpress.stackexchange https://wordpress.stackexchange.com/questions/149048

  •  28-09-2020
  •  | 
  •  

문제

나는 열심히 얻는 이 라이브러리와 워드 프레스(의 도움으로 , , , , 고 고),내 생각 했는데 아주 가까.코드 내가 직접 실행하기 전에 테스트는 다음과 같습니다(기본적으로 해제에서 그대로 이 문서):

( PHP_SAPI === 'cli' ) || die( 'Access Denied' );

define( 'PHPUNIT_DB_PREFIX', 'phpunit_' );

global $wp_rewrite, $wpdb;

define( 'WP_MEMORY_LIMIT', '100M' );

require_once( dirname( __FILE__ ) . '/../../../../wp-load.php' );
require_once( ABSPATH . 'wp-admin/includes/admin.php' );

wp_set_current_user( 1 );

것을 제외하고,기능하는 반환하는 다른 일을 기반으로 그들은 어디에 있는 파일입니다.예를 들어,외부 테스트 클래스 shortcode_exists true 를 반환합니다,반면에서 테스트한 경우 정확한 동 shortcode_exists 문 false 를 반환합니다.무엇이 잘못된 것입니까?

여기에서의 내용 전체를 테스트 파일:

[파일이 변경되었기 때문에 나는 원래이 게시...]

편집:Ok,I've followed J.D. 의 튜토리얼에서 가깝게 내가 할 수 있었다.그 느낌이 가깝습니다.내가 지금 이 오류가 발생할 수 있습니다.

PHPUnit_Framework_Error_Warning : copy(data/not-gettexted-0.php): failed to open stream: No such file or directory
#0 [internal function]: PHPUnit_Util_ErrorHandler::handleError(2, 'copy(data/not-g...', '/Applications/w...', 41, Array)
#1 /Applications/wordpress-3.8.3-0/apps/wordpress/htdocs/wp-content/plugins/hf-accountability/tests/wordpress-dev/trunk/tools/i18n/t/NotGettextedTest.php(41): copy('data/not-gettex...', 'data/not-gettex...')
#2 [internal function]: NotGettextedTest->test_replace()
#3 phar:///Applications/wordpress-3.8.3-0/apps/wordpress/htdocs/wp-content/plugins/hf-accountability/tests/phpunit-lts.phar/phpunit/Framework/TestCase.php(988): ReflectionMethod->invokeArgs(Object(NotGettextedTest), Array)
#4 phar:///Applications/wordpress-3.8.3-0/apps/wordpress/htdocs/wp-content/plugins/hf-accountability/tests/phpunit-lts.phar/phpunit/Framework/TestCase.php(838): PHPUnit_Framework_TestCase->runTest()
#5 phar:///Applications/wordpress-3.8.3-0/apps/wordpress/htdocs/wp-content/plugins/hf-accountability/tests/phpunit-lts.phar/phpunit/Framework/TestResult.php(648): PHPUnit_Framework_TestCase->runBare()
#6 phar:///Applications/wordpress-3.8.3-0/apps/wordpress/htdocs/wp-content/plugins/hf-accountability/tests/phpunit-lts.phar/phpunit/Framework/TestCase.php(783): PHPUnit_Framework_TestResult->run(Object(NotGettextedTest))
#7 phar:///Applications/wordpress-3.8.3-0/apps/wordpress/htdocs/wp-content/plugins/hf-accountability/tests/phpunit-lts.phar/phpunit/Framework/TestSuite.php(779): PHPUnit_Framework_TestCase->run(Object(PHPUnit_Framework_TestResult))
#8 phar:///Applications/wordpress-3.8.3-0/apps/wordpress/htdocs/wp-content/plugins/hf-accountability/tests/phpunit-lts.phar/phpunit/Framework/TestSuite.php(749): PHPUnit_Framework_TestSuite->runTest(Object(NotGettextedTest), Object(PHPUnit_Framework_TestResult))
#9 phar:///Applications/wordpress-3.8.3-0/apps/wordpress/htdocs/wp-content/plugins/hf-accountability/tests/phpunit-lts.phar/phpunit/Framework/TestSuite.php(709): PHPUnit_Framework_TestSuite->run(Object(PHPUnit_Framework_TestResult), false, Array, Array, false)
#10 phar:///Applications/wordpress-3.8.3-0/apps/wordpress/htdocs/wp-content/plugins/hf-accountability/tests/phpunit-lts.phar/phpunit/TextUI/TestRunner.php(350): PHPUnit_Framework_TestSuite->run(Object(PHPUnit_Framework_TestResult), false, Array, Array, false)
#11 phar:///Applications/wordpress-3.8.3-0/apps/wordpress/htdocs/wp-content/plugins/hf-accountability/tests/phpunit-lts.phar/phpunit/TextUI/Command.php(176): PHPUnit_TextUI_TestRunner->doRun(Object(PHPUnit_Framework_TestSuite), Array)
#12 /private/var/folders/r5/0w5bp7b13pndfymz_pgf_zz00000gn/T/ide-phpunit.php(268): PHPUnit_TextUI_Command->run(Array, true)
#13 /private/var/folders/r5/0w5bp7b13pndfymz_pgf_zz00000gn/T/ide-phpunit.php(506): IDE_Base_PHPUnit_TextUI_Command::main()
#14 {main}

어떤 아이디어는 어떻게 해결할 수 있습니까?그 동안,나는지 확인하는 모든 파일이 경로 정보에서 여러 config 파일이 있습니다.

편집 편집:마지막 오류가 해결되었을 수정하여 PhpStorm 구성을 사용했다.당신은 모두를 설정하"대체 설정 파일 사용"및 테스트를 설정하는 범위"에 정의된 구성 파일입니다."

도움이 되었습니까?

해결책

이유는 이런 일이 실제로 되지 않기 때문에 아무것도에 코드를 게시,per se 지만,때문에 당신이 어떻게 있는 이 라이브러리 구성되어 있습니다.단축 콜백에 저장된 글로벌($shortcode_tags).을 로드하는 경우 WP,단축 등록에 추가합니다.당신이 전화 shortcode_exists(), 검사 $shortcode_tags, 을 반환합 true.그런 다음 이 라이브러리가 시작을 실행하는 테스트입니다.과 그것을 지웁 글로벌 변수 범위가 있습니다.그래서,당신의 테스트 실행 $shortcode_tags 더 이상 존재하지 않는다,그래서 shortcode_exists() 보고는 당신의 단축 등록되지 않은.(이 라이브러리는 것을 복원 범위는 글로벌 그 전에 무엇 테스트,그래서는 검사에 영향을 미치지 않는 글로벌 변수입니다.실행 shortcode_exists() 후에 테스트를 마친 것 보고서 true.)

이 라이브러가 backupGlobals 설정 설정 false 을 방지 할 이 라이브러리에서 만의 글로벌 범위가 있습니다.고 해결해야의 문제입니다.그런데....

더 좋은 방법

작성자 이 튜토리얼, 가는 것이 좋습니다 당신이 설정한 테스트와 같은 더 나상으로 선택할 수 있습니다.이는 이유는 없을 쓰는 모든 이 부트스트랩을 얻는 이 라이브러리를 플레이 워드 프레스와 함께.해야 합 대신 워드프레스를 사용하의 부트스트랩 이 라이브러리는 명백하게,이미 설계를 재생 좋은 워드 프레스와 함께.:-)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 wordpress.stackexchange
scroll top