Difference between revisions of "Testing"

From Freephile Wiki
Jump to navigation Jump to search
(extracted PHPStan to its own page)
(One intermediate revision by the same user not shown)
Line 2: Line 2:
  
 
Software development is writing code. Testing makes sure the code actually works, so in a nutshell: '''Testing is software development''' :-)
 
Software development is writing code. Testing makes sure the code actually works, so in a nutshell: '''Testing is software development''' :-)
== Phan ==
+
==Phan==
 
see [[Phan]]
 
see [[Phan]]
  
Line 8: Line 8:
  
 
===PHPStan===
 
===PHPStan===
https://phpstan.org/
+
see [[PHPStan]]
 
 
PHPStan seems more polished (perhaps because it's commercial and has a 'pro' version that adds a GUI) whereas phan is the original PHP static analysis tool Rasmus Ledorf uses.
 
 
 
Adding a configuration file for your MediaWiki extension is straightforward and would look like this:<syntaxhighlight lang="yaml">
 
parameters:
 
level: 1
 
paths:
 
- src
 
- tests
 
scanDirectories:
 
- ../../includes
 
- ../../tests/phpunit
 
- ../../vendor
 
</syntaxhighlight>
 
 
 
 
 
The [https://phpstan.org/user-guide/rule-levels level can be 0 - 9]
 
 
 
The paths are the directories of '''your code.'''
 
 
 
The scanDirectories are additional paths used to discover symbols, but not analyze for errors.
 
 
 
For more advanced usage, see [https://github.com/ProfessionalWiki/Maps/blob/ee88211fadb3573b646cce005383450e96c3054e/phpstan.neon the example of Professional Wiki's Maps extension] which illustrates configuration file includes of a 'baseline'; error message suppression; and directory exclusions of problem code.
 
  
 
===Psalm===
 
===Psalm===

Revision as of 09:25, 19 February 2024

Testing is software development.

Software development is writing code. Testing makes sure the code actually works, so in a nutshell: Testing is software development :-)

Phan[edit | edit source]

see Phan

Other Static Analysis tools for PHP[edit | edit source]

PHPStan[edit | edit source]

see PHPStan

Psalm[edit | edit source]

https://psalm.dev/