测试php函数的方法
今天忽然想到的,就写了一段测试php函数的代码。
复制代码 代码如下:
/**
* 参数数组$ParamList说明
*
* 数组的第一维索引是需要测试的函数的参数名,第二维的每个元素是该参数需要测试的可能值,元素值可以为数组。
*/
$ParamList = array("Param1" => array(3,4,3,2,1),
"Param2" => array(3,2,5),
"Param3" => array(0,0.5,1,1.5));
// 测试函数
sysTestFunction("Test", $ParamList);
// 待测试的函数
function Test($Param1, $Param2, $Param3)
{
return $Param1 . "|" . $Param2 . "|" . $Param3;
}
/**
* 自动测试
*
* @param string $FunctionName 函数名称
* @param array $ParamList 参数列表
* @return array
*/
function sysTestFunction($FunctionName, $ParamList)
{
if(empty($FunctionName))
{
echo "函数名不能为空";
return false;
}
if(!is_array(current($ParamList)))
{
echo "参数不是2维数组";
return false;
}
$TestParamList = sysCombineArray($ParamList);
echo "开始测试函数" . $FunctionName . "
";
foreach($TestParamList as $Key => $TestParamInfo)
{
echo "开始测试第" . $Key . "组参数:
";
foreach($TestParamInfo as $ParamKey => $Param)
{
${"Param" . $ParamKey} = $Param;
$TempParamList[] = "$Param" . $ParamKey;
if(is_array($Param))
{
echo "参数" . $ParamKey . ",类型为数组:";
echo "
";<br> print_r($Param);<br> }<br> elseif(is_bool($Param))<br> {<br> echo "参数" . $ParamKey . ",类型为boll:";<br> if($Param)<br> {<br> echo "true";<br> }<br> else<br> {<br> echo "false";<br> }<br> }<br> else<br> {<br> echo "参数" . $ParamKey . ",类型为字符串或数字:";<br> echo $Param;<br> }<br> echo "<br>";<br> }<br> $Params = join(", ", $TempParamList);<br> unset($TempParamList);<br> eval("$TestReturnResult = " . $FunctionName . "(" . $Params . ");");<br> if(is_array($TestReturnResult))<br> {<br> echo "函数返回数组:<pre class="brush:php;toolbar:false">";<br> print_r($TestReturnResult);<br> }<br> elseif(is_bool($TestReturnResult))<br> {<br> if($TestReturnResult)<br> {<br> echo "函数返回true";<br> }<br> else<br> {<br> echo "函数返回false";<br> }<br> }<br> else<br> {<br> echo "函数返回数字或字符串:" . $TestReturnResult;<br> }<br> echo "<br><br>";<br> }<br>}<br>/**<br> * 计算组合的函数<br> *<br> * @param array $CombinList 待排列组合的2维数组<br> * @return array 组合后的数组<br> */<br>function sysCombineArray($CombinList)<br>{<br> if(!is_array(current($CombinList)))<br> {<br> echo "参数不是2维数组";<br> return false;<br> }<br> /* 计算C(a,1) * C(b, 1) * ... * C(n, 1)的值 */<br> $CombineCount = 1;<br> foreach($CombinList as $Key => $Value)<br> {<br> $CombineCount *= count($Value);<br> }<br> $RepeatTime = $CombineCount;<br> foreach($CombinList as $ClassNo => $ParamList)<br> {<br> // $ParamList中的元素在拆分成组合后纵向出现的最大重复次数<br> $RepeatTime = $RepeatTime / count($ParamList);<br> $StartPosition = 1;<br> foreach($ParamList as $Param)<br> {<br> $TempStartPosition = $StartPosition;<br> $SpaceCount = $CombineCount / count($ParamList) / $RepeatTime;<br> for($J = 1; $J {<br> for($I = 0; $I {<br> $Result[$TempStartPosition + $I][$ClassNo] = $Param;<br> }<br> $TempStartPosition += $RepeatTime * count($ParamList);<br> }<br> $StartPosition += $RepeatTime;<br> }<br> }<br> return $Result;<br>}<br>?><br>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que pensez-vous de furmark ? 1. Définissez le « Mode d'exécution » et le « Mode d'affichage » dans l'interface principale, ajustez également le « Mode de test » et cliquez sur le bouton « Démarrer ». 2. Après avoir attendu un moment, vous verrez les résultats du test, y compris divers paramètres de la carte graphique. Comment Furmark est-il qualifié ? 1. Utilisez une machine à pâtisserie Furmark et vérifiez les résultats pendant environ une demi-heure. Elle oscille essentiellement autour de 85 degrés, avec une valeur maximale de 87 degrés et une température ambiante de 19 degrés. Grand châssis, 5 ports de ventilateur de châssis, deux à l'avant, deux en haut et un à l'arrière, mais un seul ventilateur est installé. Tous les accessoires ne sont pas overclockés. 2. Dans des circonstances normales, la température normale de la carte graphique doit être comprise entre « 30 et 85 ℃ ». 3. Même en été, lorsque la température ambiante est trop élevée, la température normale est de « 50 à 85 ℃.

Le « Test d'inaction » du nouveau MMORPG féerique fantastique « Zhu Xian 2 » sera lancé le 23 avril. Quel genre de nouvelle histoire d'aventure féerique se produira sur le continent Zhu Xian des milliers d'années après l'œuvre originale ? Le monde immortel des six royaumes, une académie à plein temps pour cultiver des immortels, une vie libre pour cultiver des immortels et toutes sortes de divertissements dans le monde immortel attendent que les amis immortels l'explorent en personne ! Le pré-téléchargement "Wuwei Test" est maintenant ouvert. Les amis fées peuvent accéder au site officiel pour télécharger. Vous ne pouvez pas vous connecter au serveur de jeu avant le lancement du serveur. Le code d'activation peut être utilisé après le pré-téléchargement et l'installation. est terminé. "Zhu Xian 2" "Inaction Test" horaires d'ouverture : 23 avril 10h00 - 6 mai 23h59 Le nouveau chapitre d'aventure de conte de fées de la suite orthodoxe de Zhu Xian "Zhu Xian 2" est basé sur le roman "Zhu Xian" comme un modèle basé sur la vision du monde de l'œuvre originale, l'arrière-plan du jeu est défini.

"Opération Delta" lancera aujourd'hui (7 mars) un test PC à grande échelle appelé "Codename: ZERO". Le week-end dernier, ce jeu a organisé un événement d'expérience flash mob hors ligne à Shanghai, et 17173 a également eu la chance d'être invité à participer. Ce test remonte à un peu plus de quatre mois depuis le dernier, ce qui nous rend curieux, quels nouveaux points forts et surprises l'Opération Delta apportera-t-elle en si peu de temps ? Il y a plus de quatre mois, j'ai expérimenté « l'Opération Delta » lors d'une séance de dégustation hors ligne et la première version bêta. A cette époque, le jeu n'ouvrait que le mode "Action Dangereuse". Pourtant, l’opération Delta était déjà impressionnante pour l’époque. Dans un contexte où les grands constructeurs se ruent sur le marché du jeu mobile, un tel FPS comparable aux standards internationaux

Les tests fonctionnels vérifient la fonctionnalité des fonctions via des tests en boîte noire et en boîte blanche, tandis que la couverture du code mesure la partie du code couverte par les scénarios de test. Différents langages (tels que Python et Java) ont des cadres de test, des outils de couverture et des fonctionnalités différents. Des cas pratiques montrent comment utiliser Unittest et Coverage de Python et JUnit et JaCoCo de Java pour les tests de fonctions et l'évaluation de la couverture.

Les performances des différentes fonctions PHP sont cruciales pour l’efficacité des applications. Les fonctions offrant de meilleures performances incluent echo et print, tandis que les fonctions telles que str_replace, array_merge et file_get_contents ont des performances plus lentes. Par exemple, la fonction str_replace est utilisée pour remplacer des chaînes et a des performances modérées, tandis que la fonction sprintf est utilisée pour formater des chaînes. L'analyse des performances montre qu'il ne faut que 0,05 milliseconde pour exécuter un exemple, prouvant que la fonction fonctionne bien. Par conséquent, une utilisation judicieuse des fonctions peut conduire à des applications plus rapides et plus efficaces.

Maven est un outil de gestion de projet open source couramment utilisé pour des tâches telles que la construction, la gestion des dépendances et la publication de documents de projets Java. Lorsque nous utilisons Maven pour la construction d'un projet, nous souhaitons parfois ignorer la phase de test lors de l'exécution de commandes telles que mvnpackage, ce qui améliorera la vitesse de construction dans certains cas, en particulier lorsqu'un prototype ou un environnement de test doit être construit rapidement. Cet article détaillera comment ignorer la phase de test dans Maven, avec des exemples de code spécifiques. Pourquoi devriez-vous ignorer les tests Lors du développement d'un projet, il est souvent

Les fonctions de traitement d'images PHP sont un ensemble de fonctions spécifiquement utilisées pour traiter et éditer des images. Elles fournissent aux développeurs de riches fonctions de traitement d'images. Grâce à ces fonctions, les développeurs peuvent mettre en œuvre des opérations telles que le recadrage, la mise à l'échelle, la rotation et l'ajout de filigranes aux images pour répondre aux différents besoins de traitement d'image. Tout d'abord, je vais vous présenter comment utiliser les fonctions de traitement d'image PHP pour implémenter la fonction de recadrage d'image. PHP fournit la fonction imagecrop(), qui peut être utilisée pour recadrer des images. En passant les coordonnées et la taille de la zone de recadrage, on peut recadrer l'image

Introduction L'intégration continue (CI) et le déploiement continu (CD) sont des pratiques clés du développement de logiciels modernes qui aident les équipes à fournir des logiciels de haute qualité plus rapidement et de manière plus fiable. Jenkins est un outil CI/CD open source populaire qui automatise le processus de création, de test et de déploiement. Cet article explique comment configurer un pipeline CI/CD avec Jenkins à l'aide de PHP. Configurer Jenkins Installer Jenkins : Téléchargez et installez Jenkins à partir du site Web officiel de Jenkins. Créer un projet : créez un nouveau projet à partir du tableau de bord Jenkins et nommez-le en fonction de votre projet php. Configurer le contrôle de source : configurez le référentiel git de votre projet PHP en tant que Jenkin
