Test below is not enough. You should test exception for all possible types (float, bool etc..)
Write an method named getRandomNonStringValues() This method will return an array containing different type values except string and in foreach loop send all these values to setUsername method. And test you get exception for each of these values.
/**
* @expectedException Exception
*/
public function testSetUsernameThrowsExceptionIfParamIsNotString() {
$this->Http_Client->setUsername( 1 );
}
You should also test success case for setUsername method. Make method getRandomString() and test your method with this method.