PHP で
かんたんテストススメ
      @iakio
第 11 回  LOCAL PHP 部勉強会
       2010/08/28
テストって?
SimpleTest
PHPUnit
SimpleTest
<?php
require_once('simpletest/autorun.php');
require_once('../fizzbuzz.php');

class TestFizzbuzz extends Unit...
いうほど
Simple
でもない
Test::Simple
Test::More
ok(fizzbuzz(1) ==1);
 is(fizzbuzz(1), 1);
但し Perl のモジュール
いくつか実装があるようです
●   http://testanything.org/wiki/index.php/TAP_Prod
    ucers
●   Apache::Test
●   test-more-php
search.cpan.org
   Test.php
#!/usr/bin/php
<?php
require_once('.../tlib/Test.php');
require_once('../fizzbuzz.php');
plan('no_plan');

is (fizzbuzz(1)...
Tips
YAML を使う
<?php
$data = array(
   'id' => 1,
   'name' => 'hoge',
   'description' => '....'
);

$data = Y(<<<EOD
id   : 1
...
object へのキャスト
<?php
is($data['foo'], 'foo');
is($data['bar'], 'bar');

$o = (object) $data;
is($o->foo, 'foo');
is($o->bar...
脱線
( 本編 ?)
Test.php-0.13 $ cat t/0-compile.t
#!/usr/bin/env php
<?php
require 'Test.php';

plan(1);

ok(0 == 0);
?>
Test.php-0.13 $ m...
誰かが PHP を起動している
#/usr/bin/php
<?php phpinfo();?>
$ perl phpinfo.php
phpinfo()
PHP Version => 5.1.6


System => Linux localhost.localdomain
...
Shebang( シバン、シェバン )
chmod +x されたスクリプトを
実行したときに shell が使うもの
でも Perl と Ruby は
Shebang をみます
php でも shebang を書いておけば
     prove が使えます
Upcoming SlideShare
Loading in …5
×

Local php-100828 2

1,412 views
1,343 views

Published on

第11回 LOCAL PHP部勉強会での発表資料です

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,412
On SlideShare
0
From Embeds
0
Number of Embeds
139
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Local php-100828 2

  1. 1. PHP で かんたんテストススメ @iakio 第 11 回  LOCAL PHP 部勉強会 2010/08/28
  2. 2. テストって?
  3. 3. SimpleTest PHPUnit
  4. 4. SimpleTest <?php require_once('simpletest/autorun.php'); require_once('../fizzbuzz.php'); class TestFizzbuzz extends UnitTestCase { function testFizzBuzzOne() { $this->assertEqual(fizzbuzz(1), 1); } } ?>
  5. 5. いうほど Simple でもない
  6. 6. Test::Simple Test::More
  7. 7. ok(fizzbuzz(1) ==1); is(fizzbuzz(1), 1);
  8. 8. 但し Perl のモジュール
  9. 9. いくつか実装があるようです ● http://testanything.org/wiki/index.php/TAP_Prod ucers ● Apache::Test ● test-more-php
  10. 10. search.cpan.org Test.php
  11. 11. #!/usr/bin/php <?php require_once('.../tlib/Test.php'); require_once('../fizzbuzz.php'); plan('no_plan'); is (fizzbuzz(1), 1); is (fizzbuzz(2), 2); is (fizzbuzz(3), "fizz");
  12. 12. Tips
  13. 13. YAML を使う <?php $data = array( 'id' => 1, 'name' => 'hoge', 'description' => '....' ); $data = Y(<<<EOD id : 1 name : hoge description : ... EOD );
  14. 14. object へのキャスト <?php is($data['foo'], 'foo'); is($data['bar'], 'bar'); $o = (object) $data; is($o->foo, 'foo'); is($o->bar, 'bar');
  15. 15. 脱線 ( 本編 ?)
  16. 16. Test.php-0.13 $ cat t/0-compile.t #!/usr/bin/env php <?php require 'Test.php'; plan(1); ok(0 == 0); ?> Test.php-0.13 $ make test prove -r t t/0-compile.t ............ ok t/1-plan-1.t ............. ok
  17. 17. 誰かが PHP を起動している
  18. 18. #/usr/bin/php <?php phpinfo();?>
  19. 19. $ perl phpinfo.php phpinfo() PHP Version => 5.1.6 System => Linux localhost.localdomain ...
  20. 20. Shebang( シバン、シェバン ) chmod +x されたスクリプトを 実行したときに shell が使うもの
  21. 21. でも Perl と Ruby は Shebang をみます
  22. 22. php でも shebang を書いておけば prove が使えます

×