I have a test class that extends an abstract parent class. The parent class extends PHPUnit_Framework_TestCase
, it defines some methods that all tests will use.
I'm having an issue calling the parents methods. Phpunit is saying that i'm not providing any arguments to the method but i am.
Here is the child's method
public function testEmptyGarbageNullDataDoesntValidate() {
$rule = new Rule\Between( 1, 10 );
$this->testNullDataDoesntValidate( $rule );
// $this->testEmptyDataDoesntValidate( $rule );
// $this->testGarbageDataDoesntValidate( $rule );
}
Here's the parent method
public function testNullDataDoesntValidate( \Validator\Rule $rule ) {
$this->validator->addRule( 'null', $rule );
$this->assertFalse( $this->validator->validate( array( 'null' => null ) ) );
}
I'm getting the error
Argument 1 passed to BaseRuleTest::testNullDataDoesntValidate() must be an instance of Validator\Rule, none given
It's saying None is given, but its being given. I can go into the child's function and var_dump( $rule )
and see the data, it's definitely there.
Here's the var_dump
from within the parent method
object(Validator\Rule\Between)#210 (2) {
["min_value":protected]=>
int(1)
["max_value":protected]=>
int(10)
}
I'm assuming it has something to do with the way phpunit works. I'm new to phpunit.
Any ideas?