单元测试用例 php,PHP 单元测试(PHPUnit)(2)

3.3 示例

文件 Demo.php:

class Demo

{

public function sum($a, $b)

{

return $a + $b;

}

public function subtract($a, $b)

{

return $a - $b;

}

}

?>

测试用例:文件 DemoTest.php:

require_once('PHPUnit/Framework.php');

require_once(dirname(__FILE__). '/Demo.php');

class DemoTest extends PHPUnit_Framework_TestCase

{

public function testSum()

{

$demo = new Demo();

$this->assertEquals(4, $demo->sum(2, 2));

$this->assertNotEquals(3, $demo->sum(1, 1));

}

}

?>

测试结果:

PHPUnit 3.4.14 by Sebastian Bergmann.

.

Time: 0 seconds, Memory: 3.75Mb

OK (1 test, 3 assertions)

3.4 示例

文件 Foo.php:

class Foo

{

function foo()

{

}

function formatn($num)

{

$num = rtrim($num, "0");

$pos = STrpos($num, ".");

$num = str_replace(".", "", $num);

$count1 = strlen($num);

$num = ltrim($num, "0");

$count2 = strlen($num);

$zeroc = $count1 - $count2;

$num = substr($num, 0, 6);

$num = round($num/10);

//$num = str_pad($num, 5, "0");

if ($pos !== false)

{

$num = str_pad($num, (strlen($num) + $zeroc), "0", STR_PAD_LEFT);

$dotl = substr($num, 0, $pos);

$dotr = substr($num, $pos);

$num = $dotl . "." . $dotr;

}

return $num;

}

}

?>

测试用例:文件 FooTest.php:

require_once('PHPUnit/Framework.php');

require_once(dirname(__FILE__). '/Foo.php');

class fooTest extends PHPUnit_Framework_TestCase

{

//这个成员变量是存放要测试的类引用

private $obj;

//构造函数

function fooTest($name)

{

}

//new一个要测试的类为成员变量obj赋值

function setUp()

{

$this->obj = new Foo;

}

//unset要测试的类

function tearDown()

{

unset($this->obj);

}

//自定义的testcase

function testformatn1()

{

//调用要测试的类的方法,结果放到$result变量

$result = $this->obj->formatn("100.234");

//期望结果

$expected = "100.23";

//判断是否相等,这里使用assertTrue方法来判断布而值是否为true。

$this->assertTrue($result == $expected);

}

function testformatn2()

{

$result = $this->obj->formatn("0.100234");

$expected = "0.10023";

$this->assertTrue($result == $expected);

}

function testformatn3()

{

$result = $this->obj->formatn("0.100235");

$expected = "0.10024";

$this->assertTrue($result == $expected);

}

function testformatn4()

{

$result = $this->obj->formatn("0.000100235");

$expected = "0.00010024";

$this->assertTrue($result == $expected);

}

function testformatn5()

{

$result = $this->obj->formatn("0.000100232");

$expected = "0.00010023";

$this->assertTrue($result == $expected);

}

function testformatn6()

{

$result = $this->obj->formatn("1343");

$expected = "1343";

$this->assertTrue($result == $expected);

}

function testformatn7()

{

$result = $this->obj->formatn("1343.01");

$expected = "1343";

$this->assertTrue($result == $expected);

}

function testformatn8()

{

$result = $this->obj->formatn("1343.05");

$expected = "1343.1";

$this->assertTrue($result == $expected);

}

function testformatn9()

{

$result = $this->obj->formatn("0");

$expected = "0";

$this->assertTrue($result == $expected);

}

function testformatn10()

{

$result = $this->obj->formatn("105.2342");

$expected = "105.23";

$this->assertTrue($result == $expected);

}

function testformatn11()

{

$result = $this->obj->formatn("105.2375");

$expected = "105.24";

$this->assertTrue($result == $expected);

}

function testformatn12()

{

$result = $this->obj->formatn("0.000523751");

$expected = "0.00052375";

$this->assertTrue($result == $expected);

}

function testformatn13()

{

$result = $this->obj->formatn("0.000523755");

$expected = "0.00052376";

$this->assertTrue($result == $expected);

}

}

?>

测试结果:

PHPUnit 3.4.14 by Sebastian Bergmann.

.....F.......

Time: 0 seconds, Memory: 4.00Mb

There was 1 failure:

1) fooTest::testformatn6

Failed asserting that is true.

C:\Program Files\Zend\Apache2\htdocs\unit_test-2\FooTest.php:70

FAILURES!

Tests: 13, Assertions: 13, Failures: 1.

3.5 测试套件示例:

文件 AllTests.php:

require_once 'PHPUnit/Framework.php';

require_once 'PHPUnit/TextUI/TestRunner.php';

require_once 'DemoTest.php';

require_once 'FooTest.php';

class AllTests

{

public static function suite()

{

$suite = new PHPUnit_Framework_TestSuite('Zend Framework - Zend');

$suite->addTestSuite('DemoTest');

$suite->addTestSuite('FooTest');

return $suite;

}

public static function main()

{

PHPUnit_TextUI_TestRunner::run(self::suite());

}

}

?>

测试结果:

PHPUnit 3.4.14 by Sebastian Bergmann.

......F.......

Time: 0 seconds, Memory: 4.00Mb

There was 1 failure:

1) fooTest::testformatn6

Failed asserting that is true.

C:\Program Files\Zend\Apache2\htdocs\unit_test-2\FooTest.php:70

FAILURES!

Tests: 14, Assertions: 16, Failures: 1.

======================================================================

相关链接:

PHPUnit官方:http://www.phpunit.de/

PHPUnit文档:http://www.phpunit.de/pocket_guide/3.2/en/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值