2013-10-13 4 views
2

Я создаю эту строкукак проверить строку с PHPUnit

'Your maximum heart rate is ' . $int . ' Your body mass index is ' . $float . ' Your body fat percentage is ' . $float '%.' 

и вернуть его

Мое утверждение

$stringFormat = 'Your maximum heart rate is %d. Your body mass index is %f. Your body fat percentage is %f%.'; 

     $this->assertStringMatchesFormat($stringFormat, $actualResultm, 'message'); 

и когда тест проходит, я получаю эту ошибку

FatControllerTest::testBodyInfo 
message 
Failed asserting that format description matches text. 
--- Expected 
+++ Actual 
@@ @@ 
-Your maximum heart rate is %d. Your body mass index is %f. Your body fat percentage is %f%. 
+Your maximum heart rate is 193. Your body mass index is 43.181818181818. Your body fat percentage is 6.32302%. 

Теперь я представляю он должен иметь какое-то отношение к тому факту, что я говорю ему ожидать беззнакового int и двух поплавков, и он возвращает одну длинную строку, но если это так, то как я могу проверить строку, как я указал, которая собирается есть 3 области, которые меняются от случая к случаю? Если это не так, то что я сделал не так?

ответ

4

Я думаю, вы получили двойное пространство.

$stringFormat = 'Your maximum heart rate is %d. Your body mass index is %f. Your body fat percentage is %f%.'; 
                      ^extra space 
+0

Grrr благодарит много, что это все, что было – Ir1sh

Смежные вопросы