Home  >  Article  >  Backend Development  >  php一个简略的测试工具simpletest

php一个简略的测试工具simpletest

WBOY
WBOYOriginal
2016-06-13 11:01:10820browse

php一个简单的测试工具simpletest
phpunit是很好的单元测试工具,而本文介绍一款更轻量级的单元测试工具,开源的,
simpletest,

1 下载:
   http://sourceforge.net/projects/simpletest/,
可惜文档及项目主站要那个XXX,大家懂的

2 使用
   下载后,只要测试文件中包含如下两个文件,就可以用了
  require_once('simpletest/autorun.php');
require_once('simpletest/web_tester.php');

?>

3 比如测试一个界面吧
  require_once('simpletest/autorun.php');
require_once('simpletest/web_tester.php');

class SimpleFormTests extends WebTestCase {

  function testDoesContactPageExist() {
    $this->get('http://www.example.com/contact.php');
    $this->assertResponse(200);
  }

}

?>
  还可以测试表单的提交动作呢
function testIsProperFormSubmissionSuccessful() {

  $this->get('http://www.example.com/contact.php');
  $this->assertResponse(200);

  $this->setField("name", "Jason");
  $this->setField("email", "[email protected]");
  $this->setField("message", "I look forward to hearing from you!");

  $this->clickSubmit("Contact us!");

  $this->assertResponse(200);
  $this->assertText("We will be in touch within 24 hours.");

}
运行后会看到通过的情况
php一个简略的测试工具simpletest


再举一个单元测试的例子:
比如有个类LOG,是在磁盘上建立文件

require_once('simpletest/unit_tester.php');
require_once('simpletest/reporter.php');
require_once('../classes/log.php');

class TestOfLogging extends UnitTestCase {
   
    function testCreatingNewFile() {
        @unlink('/temp/test.log');
        $log = new Log('/temp/test.log');
        $this->assertFalse(file_exists('/temp/test.log'));
        $log->message('Should write this to a file');
        $this->assertTrue(file_exists('/temp/test.log'));
    }
}

$test = &new TestOfLogging();
$test->run(new HtmlReporter());
?>

测试方法中所有都默认以test开头的,这点要注意,最后用$test->run(new HtmlReporter());表示以HTML格式输出


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn