PHPUnit教程?或更一般的-单元测试教程值得推荐吗? - php

on-topic

我正在寻找一个教程,该教程解释为什么以及如何编写有用的单元测试。我特别对PHPUnit感兴趣,但是更一般的解释可能是一个很好的解释。请注意,我不是在寻找有关如何使用PHPunit的技术信息-而是关于思维方式的教程!

参考方案

我不知道一个教程。但是,我可以根据多年来的经验告诉您我的观点。

编写UnitTest旨在测试应用程序的功能。因此,按此说,您编写了一个具有3个函数的核心类,即getData setData和displaydata(只是想了想)。您想编写一个包含数据集的单位案例(您传入好数据和坏数据,因为知道正确的错误很重要)。然后,您可以通过数据库调用或使用getData的同一类来检查setData,然后尝试获取包含不良数据,良好数据等的数据。请确保此操作能够正确处理。然后,您写入显示数据并冲洗并重复。

基本上,您想测试核心类(或应用程序类)是否正确处理了数据(错误/良好数据等)。如果所有测试都是干净的,那么您可以继续为使用该核心类的其他类编写一个测试。但是,如果您的核心课程未通过/未通过测试,否则调试没有意义,否则调试将成为噩梦。我从来没有真正研究过PHP单元测试,我曾经只是写过所有给定的用例场景(即:如何使用/实现功能)。这是思考编写测试用例的一般方法。

希望这可以帮助。

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

更改默认的URL PHP - php

如何更改默认网址。例如www.example.com/index.php-> www.example.com现在,我要将其设置为www.example.com/test.php。我应该在php.ini中进行更改吗? 参考方案 假设您正在使用apache,则可以通过DirectoryIndex指令执行此操作。Check out the docs。

PHP:将字符串拆分为字母和数字部分的最佳方法 - php

我有几个格式的字符串AA11 AAAAAA1111111 AA1111111 分离字符串的字母和数字部分的最佳方法(最有效)? 参考方案 如果它们都是一系列字母,然后是一系列数字,并且没有非字母数字字符,那么sscanf()可能比regexp更有效$example = 'AAA11111'; list($alpha,$numeric) =…