Modulo:UnitTests/man
Aspetto
Questa è la pagina di documentazione per Modulo:UnitTests
Modulo Lua per la gestione di unit test sugli script.
UnitTests fornisce uno strumento che può essere usato da altri script per mezzo di require. Vedi Wikipedia:Lua#Unit_testing per i dettagli. Di seguito un esempio da Modulo:HelloWorld/test:
-- Unit tests for [[Module:HelloWorld]]. Cliccate sulla pagina di discussione per eseguire il test.
local p = require('Module:UnitTests')
function p:test_hello()
self:preprocess_equals('{{#invoke:HelloWorld | hello}}', 'Hello, world!')
end
return p
La pagina di discussione Discussioni modulo:HelloWorld/test lo esegue con il codice {{#invoke: HelloWorld/testcases | run_tests}}
. I metodi di test come test_hello sopra devono iniziare con "test".
Metodi
[modifica wikitesto]run_tests
[modifica wikitesto]run_tests(differs_at)
: Esegue tutti i test. Se si specifica "differs_at=1" sarà aggiunta una colonna che mostra la prima posizione dove un carattere del risultato atteso differisce dal risultato ottenuto. Normalmente usato sulla pagina di discussioni di un unit test.
{{#invoke:HelloWorld/testcases|run_tests}}
preprocess_equals
[modifica wikitesto]preprocess_equals(text, expected)
: Fornisce una porzione di testo wiki da preprocessare e un risultato atteso. Script e template possono essere invocati nella stessa maniera in cui sarebbero invocati in una voce.
self:preprocess_equals('{{#invoke:HelloWord | hello}}', 'Hello, world!')