私はIRC、Twitter、Slackでこれを尋ねました - これに対する答えを見つけるのがどれほど難しいかに全く驚いています。
私はis_admin()
がtrue
を返すとき、すなわちユーザーが管理者パネルを見ているときにのみ実行されるプラグインコードをたくさん持っています。
アサーションが実行されたときに管理コンテキストになるように単体テストを配置するにはどうすればよいですか。
このテスト に従って、あなたは にナビゲートするためにset_current_screen()
を使います - setUp
メソッドで - /。
残念ながら、 get_current_screen() ...の非常に役に立つリファレンスページを見れば、このことは明らかではありません。
例:
<?php
class AxisSetupTest extends WP_UnitTestCase {
/**
* @covers AxisWP::__construct
*/
function test_constructor() {
// Assert
// Admin
$this->assertInternalType('integer', has_action( 'admin_enqueue_scripts', array( 'AxisWP', 'add_admin_stylesheet' ) ) );
}
public function setUp() {
parent::setUp();
$user_id = $this->factory->user->create( array( 'role' => 'administrator' ) );
$user = wp_set_current_user( $user_id );
// This is the key here.
set_current_screen( 'edit-post' );
}
public function tearDown() {
parent::tearDown();
}
}