I checked out (with svn) the code for Automated Testing. However, I want to run unit tests as a specific user.
Is there a way to do that? That is, is there a way to loggin with php code alone?
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It only takes a minute to sign up.Sign up to join this community
$user_id = $this->_make_user('author', 'user_login_name', 'password', 'email@example.com'); wp_set_current_user( $user_id );
as long as the class that you define the testcase in inherits from
WPTestCase, then you can use the
_make_user function. The function is found in this svn repository, and is defined in
wp-testlib/base.php line 380.
I switched to using
the following is in my setUp:
$this->user_id = wp_insert_user(array('user_login'=>'test_administrator', 'role'=>'administrator')); wp_set_current_user( $this->user_id , '');
and the following is in my teardown:
wp_delete_user($this->user_id); $this->user_id = 0;