-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to mock function to return an empty array. #173
Comments
peterwilsoncc
added a commit
to 10up/distributor
that referenced
this issue
Oct 17, 2022
This works for a non-namespaced function: public function test_return_empty_array() {
$post_id = 1;
\WP_Mock::userFunction( 'peters_test_function' )
->andReturnValues([[]]);
$this->assertSame( array(), peters_test_function( $post_id ) );
} This does not work:
but returns
rather then
showing the issue rests in the namespace... somehow! |
This works: public function test_return_empty_array() {
$post_id = 1;
\WP_Mock::userFunction( '\\Distributor\\Utils\\peters_test_function' );
\Patchwork\redefine('\\Distributor\\Utils\\peters_test_function', function($post_id) {
return [];
});
$this->assertSame( [], \Distributor\Utils\peters_test_function( $post_id ) );
}
protected function tearDown(): void
{
parent::tearDown();
\Patchwork\restoreAll();
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
In Distributor, I am attempting to mock a function to return an empty array:
https://github.com/10up/distributor/blob/74ba9c5110de1dfa3415e76eab7d7ffc87b19e49/tests/php/SubscriptionsTest.php#L321-L325
However, the return value is coming back as
NULL
.As an alternative approach, I've tried setting the
return
attribute as a callablefunction(){ return []; }
but the same issue occurs.To Reproduce
phpunit --filter test_return_empty_array
Expected behavior
Returned values retain type.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
The text was updated successfully, but these errors were encountered: