【问题标题】:PHP SimpleTest HtmlReporter verbose report passPHP SimpleTest HtmlReporter 详细报告通过
【发布时间】:2012-06-09 22:32:58
【问题描述】:

如何增加 SimpleTest 的 HtmlReporter 的详细程度?

查看应用程序通过了哪些测试以及失败的测试有时很方便。

【问题讨论】:

    标签: php unit-testing tdd simpletest


    【解决方案1】:

    好吧,看来我需要更多咖啡才能在 Google 取得成功;)

    他们实际上在一个教程中回答了我的问题,只是一个索引很糟糕的问题。

    要点是我们只需扩展一个 HtmlReporter 并定义我们的报告功能。他们为什么不把它作为一个选项,它一直让我感到困惑。

    http://simpletest.org/en/display_subclass_tutorial.html

    class ShowPasses extends HtmlReporter {
    
        function paintPass($message) {
            parent::paintPass($message);
            print "<span class=\"pass\">Pass</span>: ";
            $breadcrumb = $this->getTestList();
            array_shift($breadcrumb);
            print implode("->", $breadcrumb);
            print "->$message<br />\n";
        }
    
        protected function getCss() {
            return parent::getCss() . ' .pass { color: green; }';
        }
    }
    

    【讨论】:

      【解决方案2】:

      给出的输出仍然很丑,这是我格式化输出的方式:

      class ShowPasses extends HtmlReporter {
          var $tests = array();
      
          function paintPass($message) {
              parent::paintPass($message);
              $pass =  "<span class=\"pass\">Pass</span>: ";
              $breadcrumb = $this->getTestList();
              array_shift($breadcrumb);
              if(!in_array($breadcrumb[1],$this->tests))
              {
                  echo "<h2><u>".$breadcrumb[1]."</u><h2>";
                  $this->tests[] = $breadcrumb[1];
              }
              echo "<h4>$pass".$breadcrumb[2]."</h4>";
          }
      
          function _getCss() {
              return parent::_getCss() . ' .pass { color: green; }';
          }
      }
      
      class AllTests extends TestSuite {
          function AllTests() {
              $this->TestSuite('All tests');
              $this->addFile(dirname(__FILE__).'/testRequest.php');
              $this->addFile(dirname(__FILE__).'/testTraductor.php');
              $this->addFile(dirname(__FILE__).'/testReservar.php');
      
              //para poder usar por consola
              //$this->run(new TextReporter());
              $this->run(new ShowPasses());
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多