public function test__callStatic() { $aop = new _Aop(); $this->object(_Aop::macro('hello', function ($name) { return $name; }))->isEqualTo($aop)->string(_Aop::hello('Nico'))->isEqualTo('Nico')->exception(function () { _Aop::notDefined('Nico'); })->isInstanceOf('\\BadMethodCallException'); // testMacro() is not called by atoum !? // then given that __callStatic() is associated with macro() we test the two here. }