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?
1 Answer
$user_id = $this->_make_user('author', 'user_login_name', 'password', 'test@test.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.
NEW:
I switched to using wp_insert_user
.
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;